我想创建一个新变量,其值由两个现有变量的相应值确定。我的数据集类似于下面的数据集:
aid <- c(1,2,3,4,5)
temp <- c(38,39,NA,41,NA)
surv1 <- c(5,8,0,6,9)
data <- data.frame(aid,temp,surv1)
现在,我想创建一个名为surv2的新变量。 也就是说,如果temp是NA,那么surv2也应该是NA; 如果temp不是NA,那么surv2应该取值surv1的值
#The final data should look like this:
aid <- c(1,2,3,4,5)
temp <- c(38,39,NA,41,NA)
surv1 <- c(5,8,0,6,9)
surv2 <- c(5,8,NA,6,NA)
答案 0 :(得分:2)
ifelse
以元素为单位评估条件(temp
是否为NA)。我们将测试temp是否为NA,并根据结果将结果值指定为NA或surv1。
data$surv2 <- with(data, ifelse( is.na(temp), NA, surv1))