我有一个如下所示的数据框:

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

最佳答案

假设您的 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

关于r - 从逗号分隔的字符串中仅选择唯一值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37260361/

10-14 08:19