Estaba viendo la página de ayuda para la función aggregate
en R. Nunca había usado esta función de conveniencia, pero tengo un proceso que debería ayudarme a acelerar. Sin embargo, he sido totalmente incapaz de seguir el ejemplo y entender lo que está pasando.Agregado() ejemplo en R
Un ejemplo es la siguiente:
1> aggregate(state.x77, list(Region = state.region), mean)
Region Population Income Illiteracy Life Exp Murder HS Grad Frost Area
1 Northeast 5495 4570 1.000 71.26 4.722 53.97 132.78 18141
2 South 4208 4012 1.738 69.71 10.581 44.34 64.62 54605
3 North Central 4803 4611 0.700 71.77 5.275 54.52 138.83 62652
4 West 2915 4703 1.023 71.23 7.215 62.00 102.15 134463
La salida aquí es exactamente lo que esperaría. Entonces trato de entender qué está pasando. Así que miro state.x77
1> head(state.x77)
Population Income Illiteracy Life Exp Murder HS Grad Frost Area
Alabama 3615 3624 2.1 69.05 15.1 41.3 20 50708
Alaska 365 6315 1.5 69.31 11.3 66.7 152 566432
Arizona 2212 4530 1.8 70.55 7.8 58.1 15 113417
Arkansas 2110 3378 1.9 70.66 10.1 39.9 65 51945
California 21198 5114 1.1 71.71 10.3 62.6 20 156361
Colorado 2541 4884 0.7 72.06 6.8 63.9 166 103766
OK, eso es extraño para mí. Esperaría ver una columna en state.x77 llamada state.region
o algo así. Así que state.region debe ser su propio objeto. Así que hago un str() en él:
1> str(state.region)
Factor w/ 4 levels "Northeast","South",..: 2 4 4 2 4 4 1 2 2 2 ...
Parece que state.region es solo un factor. De alguna manera TIENE que haber una conexión entre state.region y state.x77 para que aggregate() agrupe state.x77 por state.region. Pero esa conexión es un misterio para mí. ¿Puedes ayudarme a completar mis obvios malentendidos?
+1 para validación –