R код эквивалентен: «если x является частью data.frame y», то вернуть z » - PullRequest
0 голосов
/ 08 мая 2019

Я новичок в R, и я понятия не имел, как я могу это Google, поэтому я спрашиваю здесь. Любая помощь будет оценена!

Мне интересно, как я могу преобразовать приведенный ниже код:

Если {x (символ) является частью data.frame y, тогда вернуть A} еще {возврат B}

y <- data.frame(A = c("dog", "cat", "bear", "zebra"), 
                B = c("mosquito", "cockroach", "fly", "worm")

A <- "a_word"

В приведенном выше наборе данных я хотел бы сказать, например:

If { 
"dog" is part of y$A, then 
return the A
} 

else if{
"dog" is part of y$B, then 
return B
}

То, что "если x является частью data.frame", это та часть, с которой я борюсь. Поскольку x не число, я не знал, как написать это как код на R! Если бы это был номер, то это было бы что-то вроде:

ifelse(sum(x[i] == y[1:12]) == 1, A, B)

Как я могу сделать это с персонажем?

1 Ответ

0 голосов
/ 08 мая 2019

Я думаю, что вы ищете %in%.

В следующем коде я проверяю, находится ли "dog" в столбце A, тогда, если это столбец B. x - возвращаемое значение.

y <- data.frame(A = c("dog", "cat", "bear", "zebra"), 
                B = c("mosquito", "cockroach", "fly", "worm")

A <- "a_word"
B <- "b_word"
C <- "c_word"

if ("dog" %in% y$A) {
   x <- A
} else if ("dog" %in% y$B) {
   x <- B
} else {
  x <- C
}
x  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...