【发布时间】:2017-07-24 12:56:27
【问题描述】:
假设我有一个列表a,其定义为:
a <- list("aaa;bbb", "aaa", "bbb", "aaa;ccc")
我想用分号; 分割这个列表,只获取唯一值,然后返回另一个列表。到目前为止,我已经使用str_split() 拆分了列表:
a <- str_split(a, ";")
这给了我
> a
[[1]]
[1] "aaa" "bbb"
[[2]]
[1] "aaa"
[[3]]
[1] "bbb"
[[4]]
[1] "aaa" "ccc"
我怎样才能操纵这个列表(使用unique()?)给我类似的东西
[[1]]
[1] "aaa"
[[2]]
[1] "bbb"
[[3]]
[1] "ccc"
或者更简单地说,
[[1]]
[1] "aaa" "bbb" "ccc"
【问题讨论】:
-
unique(unlist(sapply(a, function(i) strsplit(i, ';')))) -
嘿@Sotos 你能把这个作为答案提交给我吗?这非常有效。
-
实际上,当我需要一个列表时,这会返回一个类字符的结果。
-
@Miha 答案就是你所需要的