Поэлементное сравнение двух векторов одинаковой длины - PullRequest
0 голосов
/ 22 мая 2019

Я хочу сравнить каждый элемент между двумя символьными векторами одинаковой длины, используя R. Я могу легко сделать это с помощью цикла for, но я ищу альтернативный метод.Например,

x<-c("A", "B", "C", "D", "E", "C")
y<-c("A", "B", "E", "D", "E", "C")

matches<-vector(length=6)

for(i in 1:6){
   matches[i]<-match(x[i], y[i])
}

matches

[1]  1  1 NA  1  1  1

Это кажется таким простым, но у меня возникают проблемы с его выяснением.

Спасибо

1 Ответ

1 голос
/ 22 мая 2019

Мы можем просто сделать ==, чтобы сравнить оба вектора поэлементно

x == y

Возвращает TRUE для соответствующего значения и FALSE для несоответствия

Если нам нужно преобразовать в 1 и NA

NA^(x != y)
#[1]  1  1 NA  1  1  1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...