a<-c(19,24,34,47,47,47)
b<-c(3,14,24,25,47,47)
Я хочу знать, сколько значений в a
совпадает со значениями в b
, однако у меня возникают проблемы - когда в обоих векторах присутствуют повторяющиеся числа. Моим желаемым ответом для приведенного выше примера будет 3
- потому что 24,47,47 - разделяются между двумя векторами.
Если я использую пересечение:
intersect(a,b)
[1] 24 47
2-е совпадение 47 игнорируется.
Если я использую% в%:
length(which(a %in% b))
[1] 4
дополнительно 47 в a также считается.
Я понимаю, что могу:
length(which(b %in% a))
[1] 3
Однако у меня также могут быть случаи, когда в b вместо a и поэтому% в% тоже бесполезен. Например:
a<-c(19,24,34,7,47,47)
b<-c(3,14,24,47,47,47)
length(which(b %in% a))
[1] 4 (I want the answer to still be 3)
Итак, без изменения того, какой вектор идет первым в функции% in%, для каждого теста - я не могу понять, как это сделать. Может кто-нибудь показать мне, как?