Я просматривал страницу справки для функции aggregate
в R. Я никогда не использовал эту вспомогательную функцию, но у меня есть процесс, который должен помочь мне ускорить работу. Тем не менее, я был совершенно не в состоянии пройти через пример и понять, что происходит.
Один из примеров:
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
Вывод здесь именно то, что я ожидал. Поэтому я пытаюсь понять, что происходит. Итак, я смотрю на 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
ОК, это странно для меня. Я ожидаю увидеть столбец в state.x77 с именем state.region
или что-то в этом роде. Поэтому state.region должен быть своим собственным объектом. Поэтому я делаю str () для него:
1> str(state.region)
Factor w/ 4 levels "Northeast","South",..: 2 4 4 2 4 4 1 2 2 2 ...
Похоже, что state.region - это просто фактор. Каким-то образом ДОЛЖНА быть связь между state.region и state.x77 для того, чтобы aggregate () мог сгруппировать state.x77 по state.region. Но эта связь для меня загадка. Можете ли вы помочь мне заполнить мои очевидные недоразумения?