【问题标题】:Split a column of character vectors and return a list拆分一列字符向量并返回一个列表
【发布时间】:2018-05-11 06:57:09
【问题描述】:

我有以下 数据框

df <- data.frame(Sl.No = c(1:6),
                 Variable = c('a', 'a,b', 'a,b,c', 'b', 'c', 'b,c'))


   Sl.No   Variable
   1         a
   2         a,b
   3         a,b,c
   4         b
   5         c
   6         b,c

我想将变量列中的唯一值分隔为列表

myList <- ("a", "b", "c")

我尝试了以下代码:

separator <- function(x) strsplit(x, ",")[[1]][[1]]
unique(sapply(df$Variable, separator))

然而,这给了我以下输出:

"a"

我请求一些帮助。我已经搜索过,但似乎无法找到答案。

【问题讨论】:

  • 完美。工作整齐。将stringsplit得到的list unlisting后得到的唯一值

标签: r split character unique


【解决方案1】:

我们可以在“,”处拆分Variable列并获取所有值并仅选择unique

unique(unlist(strsplit(df$Variable, ",")))
#[1] "a" "b" "c"

如果Variable 列是因子,请在使用strsplit 之前将其转换为字符。

【讨论】:

    猜你喜欢
    • 2013-10-04
    • 2021-05-09
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    • 2019-12-23
    相关资源
    最近更新 更多