2015-10-13 5 views
-4

У меня есть вопрос о сравнении элементов в 2 векторах. Например, у меня есть 2 векторовСравнить элементы в 2 векторах в R

a<-c(8, 28, 23, 21, 7, 3, 24, 6, 1, 4) 
b<-c(28, 27, 8, 7, 6, 23, 21, 3, 1, 26) 

Теперь я хочу, чтобы ответить на вопрос «Сколько элементов в таком же, как элемент Ь?»

Это означает, что у меня есть 1, 3, 6, 7, 8, 21, 23, 28 - общие числа -> 8 элементов.

Есть ли у нас какая-либо функция в R, помогите мне ответить на этот вопрос? Заранее спасибо.

+0

'сумму (а % в% b) ' – zx8754

ответ

0

если вы хотите знать, сколько:

length(intersect(a, b)) 
[1] 8 
+0

' a [1] "V17" "V20" "V27" "V29" "V13" "V11" "V21" "V4" "V6" "V8" ' ' b [1] "V13" "V29" "V11" "V4 "" V21 "" V8 "" V6 "" V17 "" V20 "" V27 "' Привет, могу ли я спросить, почему я не могу использовать функцию «пересекаться», если мои 2 вектора выглядят так? (а также% в%). Означает ли это, что эта функция предназначена только для числовых значений? Есть ли другие способы сравнить ли мои векторы, как указано выше? – vinh0105

0

Вы можете попробовать intersect функцию

> intersect(a, b) 
[1] 8 28 23 21 7 3 6 1 

Edit: для получения варианта использования COUNT length функцию

> length(intersect(a, b)) 
[1] 8 
+0

Большое вам спасибо, Нишант! Он работает для чисел, но могу ли я спросить, что, если мои выходные 2 вектора выглядят так: '[1]" V17 "" V20 "" V27 "" V29 "" V13 "" V11 "" V21 "" V4 "" V6 «V8» ' и ' [1] "V13" "V29" "V11" "V4" "V21" "V8" "V6" "V17" "V20" "V27" ' – vinh0105

Смежные вопросы