使用R根据现有变量创建新变量

时间:2011-04-06 04:36:26

标签: r variables

我想创建一个新变量,其值由两个现有变量的相应值确定。我的数据集类似于下面的数据集:

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)

1 个答案:

答案 0 :(得分:2)

ifelse以元素为单位评估条件(temp是否为NA)。我们将测试temp是否为NA,并根据结果将结果值指定为NA或surv1。

data$surv2 <- with(data, ifelse( is.na(temp), NA, surv1))