【问题标题】:Selecting only unique values from a comma separated string [duplicate]从逗号分隔的字符串中仅选择唯一值
【发布时间】:2020-08-12 05:38:24
【问题描述】:

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

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

【问题讨论】:

    标签: r


    【解决方案1】:

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

    【讨论】:

    • 如果 C 是一个因素,请使用as.character(dd$C)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 2017-11-27
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多