Я просматривал справочную страницу для функции 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. Но эта связь для меня загадка. {если (a
Ниже приводится упрощенная версия шаблона, который я иногда вижу в коде моих учеников:
bool foobar(int a, int b)
{
if (a < b) return true;
}
Настоящий код, конечно, более сложен. Visual Studio сообщает о предупреждении C4715 ( не все пути управления возвращают значение ), и я хотел бы рассматривать все предупреждения C4715 как ошибки. Возможно ли это?