【发布时间】:2019-02-06 18:28:28
【问题描述】:
我正在使用 dplyr 来汇总数据集,但它给出了错误的结果。我的代码是 bekow :-
Raw_Grp<-Raw_data%>%dplyr::group_by(as.character(Raw_data$Gardu))
`%>%dplyr::summarize(Avg=mean(Raw_data$Age))
下面是字符串:-
data.frame': 3016 obs. of 2 variables:
$ Kecamatan: chr "CENGKARENG" "CENGKARENG" "CENGKARENG" "CENGKARENG" ...
$ Age : num 377 370 352 313 299 291 260 223 207 200 ...
理想情况下,我应该按组值获取,但我得到的总平均值显示在所有不同的组中。我已经搜索并尝试了最大的可能性,例如创建 data.table 但结果相同。如果我在 excel 或其他收费中检查组,它会给出完美的结果。 请帮忙
【问题讨论】:
-
去掉
group_by和summarize里面的Raw_data$就是Raw_data %>% group_by(Gardu) %>% summarise(Avg = mean(Age)) -
嗨,太棒了!它按预期工作。非常感谢 !!在这里被困了1.5天。如果有解释,那将是很好的理解。我的编程处于 R 的基础阶段。再次感谢!
-
dplyr使用所谓的“引用函数”,这意味着您不会像最初尝试使用as.character那样将列名作为字符串提供,而是像常规文本和函数一样为您报价,因此group_by(Gardu)。要了解dplyr和tidyverse中的其他包,我建议至少阅读 R for Data Science 的几章:r4ds.had.co.nz