我有以下 dataframe :
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"
我请求一些帮助。我搜索过但似乎无法找到答案。
答案 0 :(得分:3)
我们可以将Variable
列拆分为&#34;,&#34;并获取所有值并仅选择unique
个。
unique(unlist(strsplit(df$Variable, ",")))
#[1] "a" "b" "c"
如果Variable
列是因素,请在使用strsplit
之前将其转换为字符。