I have the two big and small list. I want to know which of the elements in big list are not in smaller list. The list consists of property
([1] "character" "vector" "data.frameRowLabels"
[4] "SuperClassMethod"
Here is small example and error I am getting
A <- c("A", "B", "C", "D")
B <- c("A", "B", "C")
new <- A[!B]
Error in !B : invalid argument type
The expected output is new <- c("D")
Look at help("%in%")
- there's an example all the way at the bottom of that page that addresses this situation.
A <- c("A", "B", "C", "D")
B <- c("A", "B", "C")
(new <- A[which(!A %in% B)])
# [1] "D"
EDIT:
As Tyler points out, I should take my own advice and read the support documents. which()
is unnecessary when using %in%
for this example. So,
(new <- A[!A %in% B])
# [1] "D"
While I think sets
may help you to deal with different lists.
In your case, you can just use:
A <- c("A", "B", "C", "D")
B <- c("A", "B", "C")
# to find difference
setdiff(A, B)
# to find intersect
intersect(A, B)
# to find union
union(A, B)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With