首页 > 解决方案 > 尝试添加列但获取条件长度 >1 错误

问题描述


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 的缺失值

标签: r

解决方案


is.na可用于为NA元素创建逻辑表达式,而不是==. 此外,警告是因为我们正在使用if/else而不是ifelse因为if/else未矢量化。最直接的选择是创建逻辑表达式 withis.na并将其强制转换为二进制 withas.integer以便TRUE -> 1FALSE ->0

y$comp <- as.integer(is.na(y$first_completed_date)) 

推荐阅读