您可以使用字符串分割函数strsplit()将第二列的每个元素按照分号";"分割成多个子字符串,然后使用函数unique()将所有子字符串去重,最后再使用函数paste()将所有子字符串拼接成一个新的字符串。具体实现代码如下:

将第二列按分号分割成多个子字符串

str_list <- strsplit(df[, 2], ";")

将所有子字符串合并成一个向量

str_vec <- unlist(str_list)

去重得到唯一的子字符串

unique_str <- unique(str_vec)

将唯一的子字符串拼接成一个新的字符串

new_str <- paste(unique_str, collapse = ";")

将第二列替换成新的字符串

df[, 2] <- new_str

这样就将第二列中所有的子字符串合并成了一个唯一的字符串,并且保留了所有数据。

1 2 1 cg00035864 TTTY18 2 cg00050873 TSPY4;FAM197Y2 3 cg00061679 DAZ1;DAZ4;DAZ4 4 cg00063477 EIF1AY 5 cg00121626 BCORL2 6 cg00212031 TTTY14 很明显这个数据框的第二列并

原文地址: https://www.cveoy.top/t/topic/by4N 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录