сопоставление двух столбцов фрейма данных с вектором длины два, чтобы получить значение в соответствующей строке в r - PullRequest
0 голосов
/ 05 мая 2018

Это мой первый вопрос по stackoverflow, здесь это идет.

У меня есть фрейм данных, похожий на

data.frame1<- data.frame("ID" = c(1,2,3,4,5), "Col1" = c(1,4,12,15,6), "Col2"= c(3,6,2,4,1))

тогда у меня есть два значения

Value1 <- 4
Value2 <- 6

Я хочу проверить (значение1, значение2) для каждой пары в (col1, col2), чтобы увидеть, есть ли совпадение.

Если есть совпадение, я хочу вернуть идентификационный номер, поэтому в примере - он вернет 2, а если нет совпадения, я хочу, чтобы он возвратил NA.

Заранее спасибо!

1 Ответ

0 голосов
/ 05 мая 2018

Вы можете использовать which:

with(data.frame1, ifelse(idx <- Col1 == Value1 & Col2 == Value2, which(idx), NA))
# [1] NA  2 NA NA NA

Или, если вы хотите вернуть только соответствующие индексы:

with(data.frame1, which(Col1 == Value1 & Col2 == Value2))
# [1] 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...