【发布时间】:2020-12-09 02:37:56
【问题描述】:
为学校做一项作业,我们使用来自 dplyr 的预加载数据框(中西部)来操作数据并通过闪亮显示可视化。
我收到错误“'summarise()' 输入 'Illinois' 的问题,因为“找不到对象 'IL'(即使那是我认为分组依据的列中的一个变量。
这是我目前的一些代码。
bar_chart <- function(midwest) {
data_summary <- midwest %>%
dplyr::group_by(state) %>%
summarize("Illinois" = mean(IL, na.rm = TRUE),
"Minnesota" = mean(MN, na.rm = TRUE),
"Indiana" = mean(IN, na.rm = TRUE),
"Ohio" = mean(OH, na.rm = TRUE),
"Wisconsin" = mean(WN, na.rm = TRUE))
【问题讨论】:
-
如果您按“状态”分组,则称为“状态”的列,而不是“IL”。您需要使用列名,而不是
summarize()中的值。如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。midwest对象到底是什么? -
你所拥有的并没有什么意义,你需要传递
summarize列名,而不是列中的因子级别。例如midwest %>% group_by(state) %>% summarize(poptotal = mean(poptotal)) -
欢迎堆栈溢出!正如@MrFlick 所指出的,请尝试始终发布reproducible example。这样你的问题就会得到更好的答案。