R 将行与部分重复的信息合并

R 将行与部分重复的信息合并,r,R,我有一些数据帧看起来像: data.frame(chr=c(3,3,3,1,1),start=c(15,52,17,1,80),end=c(52,68,18,15,92),strand=c("+","+","+","-","-"),item=c("A","A","B","C","C"))

我有一些数据帧看起来像:

data.frame(chr=c(3,3,3,1,1),start=c(15,52,17,1,80),end=c(52,68,18,15,92),strand=c("+","+","+","-","-"),item=c("A","A","B","C","C"))
        chr start end strand item
1        3    15  52      +     A
2        3    52  68      +     A
3        3    17  18      +     B
4        1     1  15      -     C
5        1    80  92      -     C
项目A和C可以有两个或多个不同的开始和结束,但其余列在每个组中是相同的。有没有办法像这样连接开始和停止信息

        chr start   end strand item
1        3 15,52 52,68      +     A
2        3    17    18      +     B
3        1  1,80 15,92      -     C

谢谢你的帮助

我们可以通过'chr'、'strand'、'item'和
paste
将'start'、'end'值与
toString
(=>
paste(,collapse=“,”)

-输出

# A tibble: 3 x 5
#    chr strand item  start  end   
#  <dbl> <chr>  <chr> <chr>  <chr> 
#1     3 +      A     15, 52 52, 68
#2     3 +      B     17     18    
#3     1 -      C     1, 80  15, 92
# A tibble: 3 x 5
#    chr strand item  start  end   
#  <dbl> <chr>  <chr> <chr>  <chr> 
#1     3 +      A     15, 52 52, 68
#2     3 +      B     17     18    
#3     1 -      C     1, 80  15, 92
aggregate(cbind(start, end) ~ ., df1, toString)