我试图在dplyr和base r函数中汇总数据,但没有得到预期的结果,请告诉我为什么
例如,在下面的dplyr示例中,我try 将字符串作为列名,它很有效
map(c('Sepal.Length'), function(x) {
browser()
x <- sym(x)
iris %>% group_by(Species) %>% summarise(mean=mean( !!x ))
})
[[1]]
# A tibble: 3 × 2
Species mean
<fct> <dbl>
1 setosa 5.01
2 versicolor 5.94
3 virginica 6.59
但是,如果我使用Aggregate之类的基数r函数try 相同的方法,则失败
map(c('Sepal.Length'), function(x) {
# browser()
x <- sym(x)
aggregate(!!x ~ Species, data=iris, FUN= mean)
})
Error in `map()`:
ℹ In index: 1.
Caused by error in `!x`:
! invalid argument type