相关疑难解决方法(0)

将列折叠/连接/聚合到每个组中的单个逗号分隔字符串

我想根据两个分组变量聚合数据框中的一列,并用逗号分隔各个值.

这是一些数据:

data <- data.frame(A = c(rep(111, 3), rep(222, 3)), B = rep(1:2, 3), C = c(5:10))
data
#     A B  C
# 1 111 1  5
# 2 111 2  6
# 3 111 1  7
# 4 222 2  8
# 5 222 1  9
# 6 222 2 10    
Run Code Online (Sandbox Code Playgroud)

"A"和"B"是分组变量,"C"是我想要折叠成逗号分隔character字符串的变量.我试过了:

library(plyr)
ddply(data, .(A,B), summarise, test = list(C))

    A B  test
1 111 1  5, 7
2 111 2     6
3 222 1     9
4 222 …
Run Code Online (Sandbox Code Playgroud)

aggregate r r-faq

53
推荐指数
3
解决办法
2万
查看次数

在数据框中按组折叠文本

如何在列中按组聚合数据group并在列中折叠文本text

样本数据:

df <- read.table(header=T, text="
group text
a a1
a a2
a a3
b b1
b b2
c c1
c c2
c c3
")
Run Code Online (Sandbox Code Playgroud)

所需输出(数据框):

group text
a     a1a2a3
b     b1b2
c     c1c2c3
Run Code Online (Sandbox Code Playgroud)

我现在有:

sapply(unique(df$group), function(x) {
  paste0(df[df$group==x,"text"], collapse='')
})
Run Code Online (Sandbox Code Playgroud)

这在某种程度上起作用,因为它返回按组正确折叠的文本,但作为向量:

[1] "a1a2a3" "b1b2"   "c1c2c3"
Run Code Online (Sandbox Code Playgroud)

我需要一个带有group列的数据框.

r

15
推荐指数
2
解决办法
1万
查看次数

根据多个列创建group_indices

我想基于两列生成索引以对观察进行分组.但是我希望小组能够通过观察来共享,至少有一个公共观察.我可以看到如何根据共同观察的观察结果制作小组,而不仅仅是其中一个.

例如,使用数据框:

dt <- data.frame(id=1:10,
             G1 = c("A","A","B","B","C","C","C","D","E","F"),
             G2 = c("Z","X","X","Y","W","V","U","s","T","T"))
Run Code Online (Sandbox Code Playgroud)

我想得到一个专栏

1,1,1,1,2,2,2,3,4,4
Run Code Online (Sandbox Code Playgroud)

我尝试使用dplyr中的group_indices,但还没有管理它.

r dplyr

12
推荐指数
1
解决办法
566
查看次数

标签 统计

r ×3

aggregate ×1

dplyr ×1

r-faq ×1