我尝试使用dplyr对数据帧进行分组和汇总,但不断收到以下错误:
错误:无法修改分组变量
以下是生成它的代码:
data_summary <- labeled_dataset %>%
group_by("Activity") %>%
summarise_each(funs(mean))
以下是我将此应用于以下数据框架的结构:
> str(labeled_dataset)
'data.frame': 10299 obs. of 88 variables:
$ Subject : int 1 1 1 1 1 1 1 1 1 1 ...
$ Activity : Factor w/ 6 levels "LAYING","SITTING",..: 3 3 3 3 3 3 3 3 3 3 ...
$ tBodyAccmeanX : num 0.289 0.278 0.28 0.279 0.277 ...
$ tBodyAccmeanY : num -0.0203 -0.0164 -0.0195 -0.0262 -0.0166 ...
$ tBodyAccmeanZ : num -0.133 -0.124 -0.113 -0.123 -0.115 ...
$ tGravityAccmeanX : num 0.963 0.967 0.967 0.968 0.968 ...
$ tGravityAccmeanY : num -0.141 -0.142 -0.142 -0.144 -0.149 ...
$ tGravityAccmeanZ : num 0.1154 0.1094 0.1019 0.0999 0.0945 ...
...
我发现此错误的唯一参考是另一篇建议首先取消分组以确保数据尚未分组的帖子。我没有成功地尝试过。
谢谢,
路
答案 0 :(得分:6)
不要将分组变量的名称放在引号中:
data_summary <- labeled_dataset %>%
group_by(Activity) %>%
summarise_each(funs(mean))
答案 1 :(得分:1)
看起来有两个问题:
我修复了代码,指定了除分组之外的所有列,如下所示:
data_summary <- labeled_dataset %>%
group_by(Activity) %>%
summarise_each(funs(mean), tBodyAccmeanX:tGravityAccmeanX)