我想总结一个数据框,以便列包含特定组中唯一值的字符串.所以使用虹膜数据集:
iris %>%
group_by(Species) %>%
summarise(mPW=mean(Petal.Width))
Run Code Online (Sandbox Code Playgroud)
这给出了按物种分组的Petal.Width的平均值.但是,如果我想将所有用于计算该值的值作为输出,那该怎么办呢?我希望列表中的这些唯一值虽然不在列表的R含义中.我试过这个,但显然这是错的:
iris %>%
group_by(Species) %>%
summarise(lPW=paste(Petal.Width, sep=","))
Run Code Online (Sandbox Code Playgroud)
这是截断的所需示例数据帧输出.请注意,所需的输出LPW是一个字符对象:
Species lPW
setosa 0.1,0.2,0.3,0.4,0.5,0.6
....
Run Code Online (Sandbox Code Playgroud)
我没有dplyr解决方案.这就是我正常工作的方式.
提前致谢.
将我的评论推广到答案:使用collapse而不是sep:
iris %>%
group_by(Species) %>%
summarise(lPW = paste(Petal.Width, collapse=","))
Run Code Online (Sandbox Code Playgroud)
如果要将此限制为仅限唯一值,可以使用:
iris %>%
group_by(Species) %>%
summarize(lPW = paste(unique(Petal.Width), collapse = ","))
Run Code Online (Sandbox Code Playgroud)