Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 删除数据帧列中所有值的字符串中的重复值_R - Fatal编程技术网

R 删除数据帧列中所有值的字符串中的重复值

R 删除数据帧列中所有值的字符串中的重复值,r,R,我有一个数据帧,如下面的df c1 <- c(4, 3, 6, 5, 2) c2 <- c("AAA, AAA, VAA, LLA", "CEA, CEA, HEA, CKA, NEA, TEA", "RFA, LIA, VIA, CIA, CIA, RKA", "JHD, JKE, JKE, HGH", "JII, JII, ISA, KSA") df <- data.frame(c1, c2) 我想消除第二列中的值的任何重复项。例如,它应该删除第二列中对应于第一行4的值的

我有一个数据帧,如下面的df

c1 <- c(4, 3, 6, 5, 2)
c2 <- c("AAA, AAA, VAA, LLA", "CEA, CEA, HEA, CKA, NEA, TEA", "RFA, LIA, VIA, CIA, CIA, RKA", "JHD, JKE, JKE, HGH", "JII, JII, ISA, KSA")
df <- data.frame(c1, c2)
我想消除第二列中的值的任何重复项。例如,它应该删除第二列中对应于第一行4的值的AAA之一。如何对第二列中的所有单元格执行此操作

谢谢

更新的解决方案

正如评论中正确指出的,原始c2是一个因子列。

级别SDF$c2 >[1]AAA、AAA、VAA、LLA-CEA、CEA、HEA、CKA、NEA、TEA >[3]JHD、JKE、JKE、HGH JII、JII、ISA、KSA >[5]RFA、LIA、VIA、CIA、CIA、RKA 要更新因子水平,我们可以执行以下操作:

图书馆咕噜声 图书馆长 等级D$c2[1]AAA、VAA、LLA CEA、HEA、CKA、NEA、TEA >[3]JHD、JKE、HGH JII、ISA、KSA >[5]RFA、LIA、VIA、CIA、RKA df >c1 c2 >14 AAA、VAA、LLA >2 3 CEA、HEA、CKA、NEA、TEA >36区域情报局、情报局、VIA、中央情报局、RKA >4.5 JHD、JKE、HGH >5.2 JII、ISA、KSA 原始解决方案,添加新列表列,而不是更新因子级别

对于tidyverse方法,您可以这样做,将结果放入新的c3列:

图书馆弹琴 图书馆咕噜声 图书馆长 mutatedf,c3=mapstr_splitc2,边界词,唯一 >c1 c2 c3 >14 AAA,AAA,VAA,LLA AAA,VAA,LLA >2 3 CEA,CEA,HEA,CKA,NEA,茶CEA,HEA,CKA,NEA,茶 >36区域情报局,区域情报局,通过,中央情报局,中央情报局,RKA区域情报局,区域情报局,通过,中央情报局,RKA >JHD,JKE,JKE,HGH JHD,JKE,HGH >5 2 JII,JII,ISA,KSA JII,ISA,KSA 我很确定,在base R中也会有一种很好的方法,其他人可以提供。

可能是vapplystrsplitas.characterdf$c2,,functionx to stringuiquex,