首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指定dplyr列名

指定dplyr列名
EN

Stack Overflow用户
提问于 2014-01-28 03:43:51
回答 5查看 18.6K关注 0票数 19

如果我不知道列名,但希望通过变量指定列名,我如何将列名传递给dplyr?

例如,这是有效的:

代码语言:javascript
复制
require(dplyr)
df <- as.data.frame(matrix(seq(1:9),ncol=3,nrow=3))
df$group <- c("A","B","A")
gdf <- df %.% group_by(group) %.% summarise(m1 =mean(V1),m2 =mean(V2),m3 =mean(V3))

但这不是

代码语言:javascript
复制
require(dplyr)
someColumn = "group"
df <- as.data.frame(matrix(seq(1:9),ncol=3,nrow=3))
df$group <- c("A","B","A")
gdf <- df %.% group_by(someColumn) %.% summarise(m1 =mean(V1),m2 =mean(V2),m3 =mean(V3))
EN

回答 5

Stack Overflow用户

发布于 2014-10-31 13:13:43

我刚刚在Group by multiple columns in dplyr, using string vector input上给出了类似的答案,但为了好的起见:在dplyr中添加了允许使用字符串对列进行操作的函数。这些函数与常规dplyr函数具有相同的名称,但以下划线结尾。在this vignette中对这些函数进行了详细描述。

给定OP中的dfsomeColumn,现在可以很好地工作了:

代码语言:javascript
复制
gdf <- df %>% group_by_(someColumn) %>% summarise(m1=mean(V1),m2=mean(V2),m3=mean(V3))

请注意,它是group_by_,而不是group_by,并且使用%>%运算符是因为%.%已弃用。

票数 19
EN

Stack Overflow用户

发布于 2014-02-05 04:14:10

以下是这个简单问题的答案,通过挑选hadley对他发布的受骗的解决方案而获得。

代码语言:javascript
复制
gdf <- df %.% regroup( lapply( someColumn, as.symbol)) %.% summarise(m1 =mean(V1),m2 =mean(V2),m3 =mean(V3))

FWIW,我的用例涉及到按一个变量列和一个常量列进行分组。对此的解决方案是:

代码语言:javascript
复制
gdf <- df %.% regroup( lapply( c( 'constant_column', someColumn), as.symbol)) %.% summarise(m1 =mean(V1),m2 =mean(V2),m3 =mean(V3))

最后,发布的eval解决方案不起作用。这就创建了一个新列,它的值都是someColumn eval的值。

票数 3
EN

Stack Overflow用户

发布于 2015-10-22 00:42:35

您可以按如下方式使用summarise_:

代码语言:javascript
复制
plotVar         = "Stocks_US_TotalCrudeOil"
dfBand <- mydf[ c( plotVar ,  "year", "week"  )  ] %>%
            filter ( year %in% bandYears )   %>%
            group_by (  week )   %>% 
            summarise_ (   ymini =  paste( "min(" ,  as.name(plotVar)  ,")"  ) 
                         , ymaxi =  paste( "max(" ,  as.name(plotVar)  ,")"  )     )
dfBand
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21390141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档