我正在使用dplyr汇总数据集,但是结果不正确。我的代码如下:-
Raw_Grp<-Raw_data%>%dplyr::group_by(as.character(Raw_data$Gardu))
`%>%dplyr::summarize(Avg=mean(Raw_data$Age))
下面是str:-
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或其他方式检查分组,则结果会很理想。 请帮助
答案 0 :(得分:1)
当我们使用Raw_data$columnname
时,它将提取破坏group_by
条件的整个列。因此,语法只能是感兴趣的列的列名
library(dplyr)
Raw_data %>%
group_by(Gardu) %>%
summarise(Avg = mean(Age))
但是,在某些情况下,我们需要整列。例如,如果我们要检查“ Gardu”中“ Age”的多少个元素小于整个“ Age”列的值
Raw_data %>%
group_by(Gardu) %>%
summarise(n = sum(Age < .$Age))
Raw_data <- structure(list(Gardu = structure(c(1L, 1L, 1L, 1L, 1L, 2L, 2L,
2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L), .Label = c("a", "b", "c"), class = "factor"),
Age = c(21L, 19L, 38L, 31L, 37L, 47L, 21L, 41L, 42L, 20L,
34L, 25L, 37L, 37L, 23L)), class = "data.frame", row.names = c(NA,
-15L))