合并具有部分匹配值的行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合并具有部分匹配值的行相关的知识,希望对你有一定的参考价值。
我的数据集如下:
V1 V2 V3
A,C E,F G,H
A,B D,E G,H
A,B,K D,F G
我想通过第一列合并它们,只要它们共享用逗号分隔的字符串中的至少一个值。
我想看的输出是
V1 V2 V3
A,B,C,K D,E,F G,H
有人可以帮我吗?
答案
样本数据
library( data.table )
DT <- fread("V1 V2 V3
A,C E,F G,H
A,B D,E G,H
A,B,K D,F G")
code
DT[, lapply( .SD, function(x) {
paste0(sort(unique(na.omit(unlist(tstrsplit( x, "," ))))), collapse = "," )
})]
输出
V1 V2 V3
1: A,B,C,K D,E,F G,H
以上是关于合并具有部分匹配值的行的主要内容,如果未能解决你的问题,请参考以下文章