【发布时间】:2020-01-31 02:54:02
【问题描述】:
我习惯于在 for 循环中使用 dplyr 动词的 SE 版本,并希望过渡到新的评估语义,但我正在苦苦挣扎。
在较旧的 dplyr 版本中,我会执行以下操作:
df <- tribble(
~x, ~y, ~z,
"a", 2, "dog",
"b", 1, "cat",
"a", 2, "cat"
)
for (i in names(df %>% select(x,z))){
print(count_(df,i))
}
# A tibble: 2 x 2
x n
<chr> <int>
1 a 2
2 b 1
# A tibble: 2 x 2
z n
<chr> <int>
1 cat 2
2 dog 1
我尝试了quo/enquo/!!/!!! 的各种组合,但似乎无法使用count() 使其工作。
【问题讨论】:
-
也许
for (i in distinct(df %>% select(x, z))) { print(count(df, !!i)) } -
您的意思是
count()还是count_()?你使用后者,但说你不能让前者工作。
标签: r dplyr tidyverse tidyeval