如何解决Group_by和Summary的行为异常,无法提供预期的结果
虽然以前使用过dplyr,但我遇到了目前还不太了解的问题。
我正在使用的研究数据集的一部分具有+2500个不同的行。 这些行是来自研究的515所房屋的不同受访者。
我想总结一下受访者在学校度过的年数([列] [7]),并按房屋编号([[26]列)进行分组。所有学年的平均水平为3.65(在乌干达采样)。
现在,当我运行以下代码时:
library(dplyr)
df_house %>%
dplyr::group_by(House = df_house[,26]) %>%
dplyr::summarise(Avg_school = mean(df_house[,7],na.rm = TRUE))
我得到以下结果:
A tibble: 510 x 2
House Avg_school
<dbl> <dbl>
1 1 3.65
2 2 3.65
3 3 3.65
4 4 3.65
5 5 3.65
6 6 3.65
7 7 3.65
8 8 3.65
9 9 3.65
10 10 3.65
# ... with 500 more rows
我对此有两个问题: 首先,很明显,summary不会汇总每个house_id的平均值。 其次,我只得到510个小组,而不是预期的515个不同的房子。
我查看了class()和typeof()函数,以确保它们都是数字和双精度数。
有人知道为什么group_by和summary表现那样吗?
解决方法
正确的答案由@Ronak Shah提供。 确实是使用列号而不是名称来阻止它正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。