R按循环中的不同列名对_进行分组

R按循环中的不同列名对_进行分组,r,dplyr,R,Dplyr,但它不起作用。我该怎么做呢?也许,这就是你想要的 library(dplyr) for(choice in selection){ df = group_by(choice) print(df) } #一个tible:3 x 5 #组:“名称”[1] ID姓名性别出生日期`“姓名”` 11.0德文M 1984-12-29姓名 2 12.0爱德华M 1983-5-6姓名 3 13.0文力F 1986-8-8姓名 #一个tibble:3x5 #团体:“性别”[1] ID名称性别出生日期

但它不起作用。我该怎么做呢?

也许,这就是你想要的

library(dplyr)
for(choice in selection){
   df = group_by(choice)
   print(df)
}
#一个tible:3 x 5
#组:“名称”[1]
ID姓名性别出生日期`“姓名”`
11.0德文M 1984-12-29姓名
2 12.0爱德华M 1983-5-6姓名
3 13.0文力F 1986-8-8姓名
#一个tibble:3x5
#团体:“性别”[1]
ID名称性别出生日期`“性别”`
11.0德文M 1984-12-29性别
2 12.0爱德华M 1983-5-6性别
3 13.0文力F 1986-8-8性别
#一个tibble:3x5
#分组:“生日”[1]
ID名称性别出生日期`“出生日期”`
11.0德文M 1984-12-29出生日期
2 12.0爱德华M 1983-5-6出生日期
3 13.0温利F 1986-8-8出生日期
请注意,OP只请求了
groupby()
,而没有
summary()

的解释操作员
这部电影的小插曲说:

在dplyr中(通常在tidyeval中)使用!!说你想要 取消引用输入,以便对其进行计算,而不是引用


您必须首先按功能评估组中的“选择”。尝试替换:
eval(choice)
df%groupby(姓名、性别、出生日期)
@Magica,我已经更新了我的答案,希望能有所帮助。
library(dplyr)
for(choice in selection){
   df = group_by(choice)
   print(df)
}
library(dplyr)
for(choice in selection){
  student %>% group_by(!!choice ) %>% print()
}
# A tibble: 3 x 5
# Groups:   "Name" [1]
     ID Name   Gender Birthdate  `"Name"`
  <dbl> <fct>  <fct>  <fct>      <chr>   
1  11.0 Devin  M      1984-12-29 Name    
2  12.0 Edward M      1983-5-6   Name    
3  13.0 Wenli  F      1986-8-8   Name    
# A tibble: 3 x 5
# Groups:   "Gender" [1]
     ID Name   Gender Birthdate  `"Gender"`
  <dbl> <fct>  <fct>  <fct>      <chr>     
1  11.0 Devin  M      1984-12-29 Gender    
2  12.0 Edward M      1983-5-6   Gender    
3  13.0 Wenli  F      1986-8-8   Gender    
# A tibble: 3 x 5
# Groups:   "Birthdate" [1]
     ID Name   Gender Birthdate  `"Birthdate"`
  <dbl> <fct>  <fct>  <fct>      <chr>        
1  11.0 Devin  M      1984-12-29 Birthdate    
2  12.0 Edward M      1983-5-6   Birthdate    
3  13.0 Wenli  F      1986-8-8   Birthdate