首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用dplyr连接列

使用dplyr连接列
EN

Stack Overflow用户
提问于 2015-02-26 21:10:34
回答 2查看 16.7K关注 0票数 15

我有一个data_frame,我希望vectorA中元素的连接。所以

代码语言:javascript
运行
复制
df <- data_frame(id = c(1, 1, 2, 2), A = c("a", "b", "b", "c"))
df
Source: local data frame [4 x 2]

  id A
1  1 a
2  1 b
3  2 b
4  2 c

应该变成

代码语言:javascript
运行
复制
newdf
Source: local data frame [4 x 2]

  id vector
1  1 "a b"
2  2 "b c"

我的第一个倾向是在summarise中使用summarise,但这是行不通的。

代码语言:javascript
运行
复制
df %>% group_by(id) %>% summarise(paste(A))
Error: expecting a single value

Hadley和Romain在GitHub问题中讨论了一个类似的问题,但我不太清楚这是如何直接应用的。看起来应该有一个非常简单的解决方案,特别是因为paste()通常返回一个值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-26 21:13:39

您需要折叠粘贴中的值。

代码语言:javascript
运行
复制
df %>% group_by(id) %>% summarise(vector=paste(A, collapse=" "))
票数 37
EN

Stack Overflow用户

发布于 2015-12-04 18:56:13

我的数据框架如下:

col1 col2

代码语言:javascript
运行
复制
1           one 
1           one more
2           two
2           two
3           three

我需要总结如下:

col1 col3

代码语言:javascript
运行
复制
1           one, one more
2           two
3           three

下面的代码实现了这个窍门:

代码语言:javascript
运行
复制
    df <- data.frame(col1 = c(1,1,2,2,3), col2 = c("one", "one more", "two", "two", "five"))

    df %>%
            group_by(col1) %>%
            summarise( col3 = toString(unique(col2)))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28752805

复制
相关文章

相似问题

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