R中与+连接的单独字符

时间:2013-07-12 13:25:41

标签: r

我有一个如下所示的因子向量:

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

我想要一个由“+”符号分隔的项目向量,即在上面的示例中,我想要一个向量A B C D E F。删除“+”符号并删除项目的副本。我怎么能在R?谢谢!

2 个答案:

答案 0 :(得分:5)

您应该使用strsplit +分割矢量(通过转义)。然后,您将获得一个列表,其中向量的每个元素在+处被分割。然后你可以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"

答案 1 :(得分: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"