0

我有一个看起来像这样的因子向量:

[1] A
[2] B+C
[3] A+D+E
[4] F
...

我想要一个由“+”号分隔的项目向量,即在上面的示例中,我想要一个向量A B C D E F。“+”号被删除,项目的重复项也被删除。我怎么能在 R 中做到这一点?谢谢!

4

2 回答 2

5

strsplit您应该使用at拆分向量+(通过转义它)。然后,您将获得一个列表,其中向量的每个元素在 处拆分+。然后你可以unlist它来取回向量。从那里您可以调用unique以删除重复项。

x <- c("A", "B+C", "B+D", "A+D+E", "F", "F+C")
unique(unlist(strsplit(x, "\\+")))
# [1] "A" "B" "C" "D" "E" "F"
于 2013-07-12T13:28:36.717 回答
5

使用另一个选项scan,您将获得一个字母向量,您可以使用以下方法删除重复的字母unique

unique(scan(text='A
B+C
A+D+E
F',what='character',sep='+'))
Read 7 items
[1] "A" "B" "C" "D" "E" "F"
于 2013-07-12T13:35:53.937 回答