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