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

CAPÍTULO 4. ESTRUCTURAS DE CONTROL Y MANEJO DE DATOS 80
lapply
(mls, rowSums)
## $`1978`
## 1
## NA
##
## $`1979`
## 2
5 8
## 81.0 NA 101.7
##
## $`1980`
## 3 6 9
## 116 369 NA
##
## $`1981`
## 7 10
## 163.5 141.2
##
## $`1982`
## 4 11
## NA 161.4
Obsérvese que muchos de los resultados anteriores son
NA
, esto es,
no dis-
ponibles
, debido a que las funciones
sum()
y
mean()
, y por consiguiente las
funciones derivadas:
colMeans()
y
rowSums()
, entregan ese resultado cuando
alguno de los elementos del vector dado como argumento es
NA
. Esto se puede
resolver, indicándole a cualquiera de esas funciones hacer caso omiso de los
valores
NA
, mediante el parámetro
na.rm=TRUE
, como se muestra a continua-
ción.
sapply
(mls, colMeans,
na.rm
= T)
# recuerde T es TRUE
##
1978 1979 1980 1981 1982
## Enero 54.0 16.15 65.43 40.25 28.9
## Febrero 38.5 25.65 24.25 21.80 50.5
## Marzo NaN 84.70 106.97 90.30 60.3
class
(
sapply
(mls, colMeans,
na.rm
= T))
## [1] "matrix"
Una nota final aquí es que en este último ejemplo se ha utilizado la función
sapply()
, en vez de la función
lapply()
. Como se puede ver, en este caso el
resultado ha sido simplificado lo más posible, entregando una matriz en vez
de una lista con cada uno de los resultados. Obsérvese también que para el
mes de marzo y el año 1978, la tabla ha arrojado un resultado
NaN
(
not a num-
ber
), aunque se ha instruido hacer caso omiso de los valores
NA
en los cálculos
1...,73,74,75,76,77,78,79,80,81,82 84,85,86,87,88,89,90,91,92,93,...198
Powered by FlippingBook