создание новой переменной в соответствии с существующими переменными, используя R - PullRequest
1 голос
/ 06 апреля 2011

Я хотел бы создать новую переменную со значениями, которые будут определены соответствующими значениями двух существующих переменных.Мой набор данных похож на приведенный ниже:

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 Ответ

2 голосов
/ 06 апреля 2011

ifelse оценивает условие (независимо от того, является ли temp NA) в элементе способом элемента.Мы проверим, является ли температура NA или нет, и назначим полученное значение как NA или Surv1 в зависимости от результата.

data$surv2 <- with(data, ifelse( is.na(temp), NA, surv1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...