【发布时间】:2019-10-15 08:04:58
【问题描述】:
我有一个数据框,其中一个向量中高于某个级别的值应在下一个向量中更改。
我尝试了 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)
【问题讨论】:
-
你看过
ifelse函数吗?ifelse(duration > 15, 3, code) -
嗨@bouncy 我不认为 ifelse 适用于已经存在的向量,并且 1,2 代码预定义为这些数字。
-
mydata$code <- with(mydata, replace(code, duration > 15, 3)) -
你试过我发送的代码了吗?
ifelse肯定适用于已经存在的向量 -
谢谢@bouncyball 道歉,您的代码运行良好
标签: r dataframe if-statement replace