我希望在dplyr的summarise()函数中,使用列的索引而不是列名进行引用。例如:
> a
id visit timepoint bedroom den
1 0 0 62 NA
2 1 0 53 6.00
3 2 0 56 2.75
4 0 1 55 NA
5 1 2 61 NA
6 2 0 54 NA
7 0 1 58 2.75
8 1 2 59 NA
9 2 2 60 NA
10 0 1 57 NA
# E.g.
a %>% group_by(visit) %>% summarise(avg.bedroom = mean(bedroom, na.rm =T)
# Returns
visit avg.dedroom
<dbl> <dbl>
1 0 4.375
2 1 2.750
3 2 NaN
我该如何在summarise语句中使用“bedroom”列的索引而不是它的名称?我尝试过:
a %>% group_by(visit) %>% summarise("4" = mean(.[[4]], na.rm = T))
但是这返回了错误的结果:
visit `4`
<dbl> <dbl>
1 0 3.833333
2 1 3.833333
3 2 3.833333
我的目标能实现吗?如果可以,怎么做?谢谢。
.[[4]]
语法与group_by
不兼容。遗憾的是,这只是解释了为什么它不起作用 :)。 - Paul Hiemstra