假设我们有一个数据帧如何根据条件在data.frame中创建新变量?
x y
1 1
2 4
4 5
你怎么能一个新的变量添加到数据帧,例如,如果x小于或等于1则返回“良好”,x是3-5返回“坏“否则返回”公平“
x y w
1 1 "good"
2 2 "fair"
5 5 "bad"
应用ocram。所示的方法,但是这里这个不起作用。
d1 <- c("e", "c", "a")
d2 <- c("e", "a", "b")
w <- ifelse(d1 == "e" & (d2=="e"), 1, ifelse((d1 == "a") & (d2 =="b"), 2, ifelse(d1 == "e"),3,99))
任何想法? 谢谢
看看'cut'函数 – hadley
由于你弄乱了括号,你的上一个代码不工作;它应该总是'ifelse(cond,ifTrue,ifFalse)',从不'ifelse(cond)ifTrue,ifFalse'。 – mbq
谢谢!注意到如此.. :) – eastafri