我是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)
我该如何处理角色?
答案 0 :(得分:0)
我认为您正在寻找%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