我有一个如下所示的数据框:
A B C
1 M 1,2
2 M 1,5,5,5
3 M 4,5,7,7
我想从列C中选择唯一的值来实现这一点:
A B C
1 M 1,2
2 M 1,5
3 M 4,5,7
答案 0 :(得分:3)
假设您的C
列是此示例中的字符向量
dd <- read.table(text="A B C
1 M 1,2
2 M 1,5,5,5
3 M 4,5,7,7", header = TRUE, stringsAsFactors = FALSE)
您可以使用strsplit
在逗号上拆分列值,然后使用以下代码重新组合唯一值:
dd$D <- sapply(strsplit(dd$C, ",", fixed = TRUE), function(x)
paste(unique(x), collapse = ","))
dd
# A B C D
# 1 1 M 1,2 1,2
# 2 2 M 1,5,5,5 1,5
# 3 3 M 4,5,7,7 4,5,7