Попытка добавить столбец, но получение условия имеет длину> 1 ошибка - PullRequest
2 голосов
/ 23 сентября 2019

for (i in 1:nrow(y)){
  if (y$first_completed_date == NA) {
    y$comp[i]<-1
  }
  else {
    y$comp[i]<-0
  }
}

условие имеет длину> 1, и будет использоваться только первый элемент. Ошибка в if (yumi $ first_completed_date == NA) {: пропущенное значение там, где требуется TRUE / FALSE

1 Ответ

1 голос
/ 23 сентября 2019

is.na может использоваться для создания логического выражения для элементов NA вместо ==.Кроме того, предупреждение связано с тем, что мы используем if/else, а не ifelse, поскольку if/else не векторизовано.Простой вариант - создать логическое выражение с is.na и привести его к двоичному с помощью as.integer, чтобы TRUE -> 1 и FALSE ->0

y$comp <- as.integer(is.na(y$first_completed_date)) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...