我试图根据一组不同列的条件,用五个可能的值(1:5)填充新列,但似乎只能选择最后一个条件。某处有问题,但我似乎找不到。
我已经尝试过ifelse()语句,通用的if .... else if和没有ifelse()但没有任何作用的常规条件。
样本数据:collisons_2016
if (!is.na(collisons_2016$Vehicle_factor_1)==T &&
!is.na(collisons_2016$Vehicle_factor_2)==T &&
!is.na(collisons_2016$Vehicle_factor_3)==T &&
!is.na(collisons_2016$Vehicle_factor_4)==T &&
!is.na(collisons_2016$Vehicle_factor_5)==T){
collisons_2016$vehicle_count <- 5
} else if (!is.na(collisons_2016$Vehicle_factor_1)==T&&
!is.na(collisons_2016$Vehicle_factor_2)==T&&
!is.na(collisons_2016$Vehicle_factor_3)==T&&
!is.na(collisons_2016$Vehicle_factor_4)==T&&
!is.na(collisons_2016$Vehicle_factor_5)==F){
collisons_2016$vehicle_count <- 4
} else if (!is.na(collisons_2016$Vehicle_factor_1)==T&&
!is.na(collisons_2016$Vehicle_factor_2)==T&&
!is.na(collisons_2016$Vehicle_factor_3)==T&&
!is.na(collisons_2016$Vehicle_factor_4)==F&&
!is.na(collisons_2016$Vehicle_factor_5)==F){
collisons_2016$vehicle_count <- 3
} else if (!is.na(collisons_2016$Vehicle_factor_1)==T&&
!is.na(collisons_2016$Vehicle_factor_2)==T&&
!is.na(collisons_2016$Vehicle_factor_3)==F&&
!is.na(collisons_2016$Vehicle_factor_4)==F&&
!is.na(collisons_2016$Vehicle_factor_5)==F){
collisons_2016$vehicle_count <- 2
} else if(!is.na(collisons_2016$Vehicle_factor_1)==T&&
!is.na(collisons_2016$Vehicle_factor_2)==F&&
!is.na(collisons_2016$Vehicle_factor_3)==F&&
!is.na(collisons_2016$Vehicle_factor_4)==F&&
!is.na(collisons_2016$Vehicle_factor_5)==F){
collisons_2016$vehicle_count <- 1
} else {
collisons_2016$vehicle_count <- 0
}
当前输出:
预期输出:
在此先感谢您提供的任何帮助!