【问题标题】:creating a new variable according to existing variables using R使用 R 根据现有变量创建新变量
【发布时间】:2011-04-06 04:36:26
【问题描述】:

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

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)

【问题讨论】:

  • baz - 我删除了 NA 周围的“”,以便 R 正确地将它们解释为不可用而不是字符串“NA”。

标签: r variables


【解决方案1】:

ifelse 以逐个元素的方式评估条件(temp 是否为 NA)。我们将测试 temp 是否为 NA 并根据结果将结果值分配为 NA 或 surv1。

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

【讨论】:

  • !为此非常感谢。我正在使用这个脚本: data$surv2
  • 如果此答案解决了您的问题,请不要忘记接受它。 :)
  • @Roman,是的,确实,只是使用它,因为它给了我想要的东西,并且我接受它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-07
  • 1970-01-01
  • 2018-05-22
  • 1970-01-01
  • 2019-04-16
  • 2021-01-04
  • 2021-12-03
相关资源
最近更新 更多