【发布时间】:2019-10-21 03:11:43
【问题描述】:
我正在尝试根据列值对数据进行子集化。如果该特定列只有一个级别的信息,我正在尝试进行子集化。这是我的数据的样子。
data <- cbind(v1=c("a", "ab", "a|12|bc", "a|b", "ac","bc|2","b|bc|12"),
v2=c(1,2,3,5,3,1,2))
> data
v1 v2
[1,] "a" "1"
[2,] "ab" "2"
[3,] "a|12|bc" "3"
[4,] "a|b" "5"
[5,] "ac" "3"
[6,] "bc|2" "1"
[7,] "b|bc|12" "2"
我只想使用不包含“|”的字符值进行子集化,如下所示:
> data
v1 v2
[1,] "a" "1"
[2,] "ab" "2"
[3,] "ac" "3"
基本上,我试图摆脱两级 (x|y) 或三级值 (x|y|z)。对此有什么想法吗?
谢谢!
【问题讨论】:
-
一个
stringr可能性:data[sapply(data,function(x) !str_detect(x,"\\|"))]