2
我有一个逗号分隔的字符类[R匹配部分对字符串的矢量
A = "123,456,789"
,我试图获得当字符类的项目之一存在性格上的一个逻辑向量阵列。
B <- as.array(c("456", "135", "789", "111"))
我寻找大小4(B的长度)的逻辑结果
[1] TRUE FALSE TRUE FALSE
相当新至R所以任何帮助,将不胜感激。提前致谢。
我有一个逗号分隔的字符类[R匹配部分对字符串的矢量
A = "123,456,789"
,我试图获得当字符类的项目之一存在性格上的一个逻辑向量阵列。
B <- as.array(c("456", "135", "789", "111"))
我寻找大小4(B的长度)的逻辑结果
[1] TRUE FALSE TRUE FALSE
相当新至R所以任何帮助,将不胜感激。提前致谢。
您可以使用sapply和grepl的组合,如果匹配
sapply(B, grepl, x=A)
由于您比较矢量,它返回一个逻辑是逗号分隔的,你可以使用这个作为一个非循环方法。
B %in% strsplit(A, ",")[[1]]
# [1] TRUE FALSE TRUE FALSE
和另外一个循环的方法是使用Vectorize
与grepl
。这在内部使用mapply
。
Vectorize(grepl, USE.NAMES = FALSE)(B, A)
# [1] TRUE FALSE TRUE FALSE
我会用其他答案中的非循环方法 – DMT 2014-10-08 20:16:09