繁体   English   中英

如何合并 dataframe 的相似行并连接差异?

[英]How to merge similar rows of a dataframe and concatenate the differences?

我有一个 dataframe ,其中一些行相差一个值,如下所示:

V1 V2 V3 V4 V5
A  B  C  D  E
A  B  C  D  F

有没有一种方便的方法来搜索仅在 V5 中不同的行,然后合并这两行,将 V5 中不同的值粘贴在一起以产生:

V1 V2 V3 V4 V5
A  B  C  D  E,F

由于您只对合并第五列感兴趣(如评论中所示),一种解决方案是按前四列分组并连接第五列。

例如使用dplyr

library(dplyr)

df |> 
  group_by(across(1:4)) |>
  summarise(V5 = paste0(unique(V5), collapse = ",")) |>
  ungroup()

Output:

# A tibble: 2 × 5
  V1    V2    V3    V4    V5   
  <chr> <chr> <chr> <chr> <chr>
1 A     B     C     A     F    
2 A     B     C     D     E,F 

数据:

library(readr)

df <- read_table("V1 V2 V3 V4 V5
A  B  C  D  E
A  B  C  D  F
A  B  C  A  F")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM