Я новичок в R и работаю над небольшим проектом:
Repex:
У меня есть набор данных с именем filterdascom4, в котором есть переменные, как показано ниже
> head(filterdacsom4)
Year Zip Total_Population Median_Income City State
1 2017 ZCTA5 00601 17599 11757 Adjuntas PR
2 2017 ZCTA5 00602 39209 16190 Aguada PR
3 2017 ZCTA5 00603 50135 16645 Aguadilla PR
4 2017 ZCTA5 00606 6304 13387 Maricao PR
5 2017 ZCTA5 00610 27590 18741 Anasco PR
6 2017 ZCTA5 00612 62566 17744 Arecibo PR
Я пытаюсь использовать dplyr и tidyverse, чтобы мутировать и создать новый столбец для соотношения населения и доходов, а затем найти, какой почтовый индекс имел самое высокое отношение населения к доходу в 2017 году
Мой вклад:
demograph_ratio <- filterdacsom4 %>% dplyr::filter(Year %in% c(2017)) %>%
spread(Year,Median_Income) %>% group_by(Zip) %>%
mutate(Poptoincomeratio = Total_Population/Median_Income)
demograph_ratio
Однако, когда я запускаю вышеописанное, я получаю сообщение об ошибке:
Error in mutate_impl(.data, dots) :
Evaluation error: object 'Median_Income' not found.
Что странно, потому что когда я пытаюсь его отладить:
filterdacsom4$Median_Income
Отображается правильный вывод:
[1] 11757 16190 16645 13387 18741 17744 14918 17157 16727 16401
[11] 16832 17579 9632 15736 14448 16292 29160 13071 16095 20564
[21] 12236 14966 17770 19674 16771 15401 13843 12996 14456 18032
[31] 13416 18333 15730 14500 15315 15043 14128 18739 15918 18491
[41] 18076 18971 14375 14487 16532 13960 18207 17489 15820 12440
Почему я получаю эту ошибку, и есть ли лучший способ закодировать ее, чтобы найти отношение населения к доходу согласно почтовому индексу