[英]R group_by different column names in a loop
student <- data.frame(ID = c(11, 12, 13),
Name = c("Devin", "Edward", "Wenli"),
Gender = c("M", "M", "F"),
Birthdate = c("1984-12-29", "1983-5-6", "1986-8-8"))
selection <- c("Name", "Gender", "Birthdate")
現在我想寫一個循環
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
請注意,OP僅請求了group_by()
但未請求group_by()
summarize()
。
!!
操作者 用dplyr編程的小插圖說:
在dplyr中(通常在tidyeval中)使用!! 表示您希望取消對輸入的引用,以便對其進行評估,而不是對其進行引用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.