El arte de programar en R Un leguaje para la estadística - page 125

CAPÍTULO 5. ESCRITURA DE FUNCIONES
122
# En primer lugar se indica que se usará
# la biblioteca que contien la función fitdistr():
library
(MASS)
# Se llama a la función con: (1) Los datos: pp$Precip,
# (2) La función de densidad: dgamma, y (3) una lista
# que provee los nombres de los parámetros y sus valores
# iniciales; se guarda el resultado en una variable 'ff'
ff
<-
fitdistr
(pp
$
Precip, dgamma,
start
=
list
(
shape
=p0[
1
],
scale
=p0[
2
]))
# Veamos el contenido de la variable:
ff
## shape
scale
## 4.1128 28.0696
## ( 0.8725) ( 6.3318)
Se puede observar que, los parámetros resultantes no son iguales que los
obtenidos con el método anterior; si bien, sus valores son de alguna manera se-
mejantes. Para comparar los resultados visualmente, es conveniente tener las
curvas correspondientes en un mismo gráfico. Por esta razón se elaborará tam-
bién una función particular, como se hizo para el método anterior, que pueda
ser graficada mediante la función
curve()
, de la siguiente manera.
# Los parámetros encontrados se encuentran en los componentes
# de la variable 'ff', como sigue:
# (1) shape: ff$estimate[[1]]
# (2) scale: ff$estimate[[2]]
# Entonces la función particular para estos parámetros es:
dgammaXX
<-
function
(
x
) {
dgamma
(x,
shape
=ff
$
estimate[[
1
]],
scale
=ff
$
estimate[[
2
]])
}
Ahora se procede a hacer la gráfica comparativa con las dos curvas como
sigue:
# La primera curva; agregaremos límites al
# eje X para su graficado
curve
(dgammaX,
col
=
"green"
,
lwd
=
2
,
ylab
=
"Densidad"
,
ylim
=
c
(
0
,
0.012
),
# Límites de Y
xlim
=
c
(
0
,
max
(pp
$
Precip)))
# Límites de X
# La otra curva se agrega a la anterior,
# por eso el argumento add=T
curve
(dgammaXX,
col
=
"red"
,
lwd
=
2
,
add
=T)
# Se agregará un leyenda para hacer más
# comprensible el gráfico:
1...,115,116,117,118,119,120,121,122,123,124 126,127,128,129,130,131,132,133,134,135,...198
Powered by FlippingBook