【发布时间】:2014-10-28 07:21:49
【问题描述】:
我有一个函数,它根据 b 列中的条目为数据框的 c 列分配一个值(猫、狗或兔子):
mydf <- data.frame(a = c(1:4), b= c(1,3,5,9))
myfunction <- function(x) {
if(x == 1 | x == 2) y <- "cat"
if(x > 2 & x < 6) y <- "dog"
if(x > 6) y <- "rabbit"
return(y)
}
mydf$c <- sapply(mydf$b,myfunction)
现在我想编写一个函数,使赋值以列 a 和 b 的值为条件。例如,条件可能是: A: cat 当且仅当 mydf$a == 1 & mydf$b == 1; B:无论 mydf$b 的值如何,只要 mydf$a == 2 以及 mydf$a == 3 & mydf$b == 5 都会分配 dog; C:兔子被分配给其他情况。语法有些问题,找不到上一篇文章中的示例。
【问题讨论】:
-
在你的描述中写着
mydf$a==2 regardless of the value of mydf$b,而在代码中写着x >2 & x <6哪一个是正确的?