【发布时间】:2016-07-06 11:33:08
【问题描述】:
我注意到这里有很多示例,它们使用dplyr::mutate 结合返回多个输出的函数来创建多个列。例如:
tmp <- mtcars %>%
group_by(cyl) %>%
summarise(min = summary(mpg)[1],
median = summary(mpg)[3],
mean = summary(mpg)[4],
max = summary(mpg)[6])
然而,这样的语法意味着 summary 函数被调用了 4 次,在这个例子中,这似乎不是特别有效。有什么方法可以有效地将列表输出分配给summarise 或mutate 中的列名列表?
例如,从上一个问题:Split a data frame column containing a list into multiple columns using dplyr (or otherwise),我知道您可以将summary 的输出分配为列表,然后使用do(data.frame(...)) 将其拆分,但这意味着您必须随后添加列后面的名字和语法不那么漂亮。
【问题讨论】:
-
另见stackoverflow.com/q/21630406/4241780 '在 dplyr mutate 中返回一个列表'。