【发布时间】:2015-03-13 21:43:40
【问题描述】:
我正在编写一个要在 dplyr 中的多个列上使用的函数,但是我无法将列名作为输入传递给 dplyr 的函数。
这是我想做的一个例子:
df<-tbl_df(data.frame(group=rep(c("A", "B"), each=3), var1=sample(1:100, 6), var2=sample(1:100, 6)))
example<-function(colname){
df %>%
group_by(group)%>%
summarize(output=mean(sqrt(colname)))%>%
select(output)
}
example("var1")
输出应该是这样的
df %>%
group_by(group)%>%
summarize(output=mean(sqrt(var1)))%>%
select(output)
我发现了一些类似的问题,但没有任何东西可以直接应用于我的问题,因此感谢您的帮助。我尝试了一些涉及 eval 的解决方案,但老实说,我不知道我应该传递给 eval 的确切内容。
【问题讨论】:
-
@StevenBeaupré 不,因为没有名为 var1 的对象