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

CAPÍTULO 4. ESTRUCTURAS DE CONTROL Y MANEJO DE DATOS 81
Figura 4.3: Operación de la función
by()
involucrados. Esto se debe a que para ese año sólo ha reportado valores una es-
tación, ’E1’, pero para el mes de marzo no se ha reportado ningún valor, lo que
se indica con
NA
, en la celda correspondiente de la tabla; en esa situación, no
hay forma de hacer el cálculo de la media, pues se requeriría contar al menos
con un valor.
4.3.5. Clasificación y operación: las funciones
by()
,
aggregate()
y
tapply()
Los últimos ejemplos de la sección anterior, 4.3.4, muestran una secuencia
de acciones separadas, a saber: primero una clasificación de los datos, para des-
pués aplicar una operación sobre cada una de las partes encontradas mediante
la clasificación. De este modo, se aplicó primeramente la función
split()
, pa-
ra clasificar la información, y después, sobre el resultado de esta clasificación,
se aplicó cualquiera de las funciones
lapply()
o
sapply()
, para distribuir una
operación,
colMeans()
, sobre cada una de las partes de la clasificación resul-
tante. Mediante la función
by()
, el lenguaje provee una manera de hacer estas
dos acciones simultáneamente. La Fig. 4.3 muestra esquemáticamente la ma-
nera en la que opera esta función.
La función
by()
, básicamente tiene tres argumentos principales: el objeto al
cual se aplica -típicamente un
data frame
-, el factor o vector usado para clasificar
y la función que se aplica a cada uno de los elementos resultantes de la clasifi-
cación, y puede además tener argumentos adicionales, tales como
na.rm
, que
serán pasados a la función que se aplicará. En seguida se muestra el resultado
de aplicarla tal como se ha mostrado en la Fig. 4.3.
1...,74,75,76,77,78,79,80,81,82,83 85,86,87,88,89,90,91,92,93,94,...198
Powered by FlippingBook