我有一個字符向量,並且我想從它中排除出現在第二個向量中的元素。我不知道如何工作的否定在這種情況下,同時還在考慮整個向量從另一個向量中排除另一個向量的元素,不使用setdiff
vector[vector ! %in% vector2]
我可以明明vector[vector != single_character]
但僅適用於單個字符。
我有一個字符向量,並且我想從它中排除出現在第二個向量中的元素。我不知道如何工作的否定在這種情況下,同時還在考慮整個向量從另一個向量中排除另一個向量的元素,不使用setdiff
vector[vector ! %in% vector2]
我可以明明vector[vector != single_character]
但僅適用於單個字符。
你接近
vector[!vector %in% vector2]
,或者即使你說 「不使用setdiff」
setdiff(vector, vector2)
vector1 <- letters[1:4]
set.seed(001)
vector2 <- sample(letters[1:15], 10, replace=TRUE)
vector1
[1] "a" "b" "c" "d"
vector2
[1] "d" "f" "i" "n" "d" "n" "o" "j" "j" "a"
vector2 [!(vector2 %in% vector1)] # elements in vector2 that are not in vector1
[1] "f" "i" "n" "n" "o" "j" "j"
您可以定義一個新的運營商,
`%ni%` = Negate(`%in%`)