根据数据框单独向量中大于x的值替换一个向量中的值

时间:2019-05-29 16:42:22

标签: r dataframe if-statement replace

我有一个数据帧,其中一个向量中某个特定级别以上的值应在下一个向量中更改。

我尝试过if函数,该函数会返回'NA'。

if (mydata$duration >15) {
mydata$code==3
}

下面是一些结束功能应该看起来像“重新编码”的代码

duration<-c(1,14,5,17,9,10,14,16,2,8,3,18)
code<-c(1,2,1,2,1,2,1,2,1,2,1,2)
mydata<-data.frame(code,duration)
recode<-c(1,2,1,3,1,2,1,3,1,2,1,3)
mydata<-data.frame(recode,duration)

1 个答案:

答案 0 :(得分:1)

'ifelse'或'with(replace)'函数都运行良好。

mydata$code<-ifelse(mydata$duration>15,3,mydata$code)

mydata$code<-with(mydata,replace(code,duration>15,3))