我以为我在逻辑语句中解释了NULL,但它仍然是一个错误。我不知道为什么。我无法删除数据中的NULL。Visual是一个数据,它包含一个时间值作为整数(即8:00 == 800)以及其他一些字符数据。final_1和final_2只是的空版本。我还需要为时间逻辑编写一些代码,这样当值达到60时,时间就会跳到100。
for (i in 1:nrow(Visual)){
time <- Visual[i,]$Start_Time
time_end <- Visual[i,]$End_Time
if(is.null(time)){
time <- min_time
if(is.null(time_end)){
while(time <= max_time){
final_2[i,]$Time <- time
final_2[i,]$Appointment_AIM <- Visual[i,]$Appointment
final_2[i,]$AIM_Abbreviation <- Visual[i,]$Abbreviation
final_2[i,]$Standard_Duration <- Visual[i,]$Standard_Duration
final_2[i,]$Booking_Factor <- Visual[i,]$Booking_Factor
final_2[i,]$Appointment_Categories_ACM <- Visual[i,]$Appointment_Categories
final_2[i,]$ACM_Abbreviation <- Visual[i,]$ACM_Abbreviation
final_2[i,]$Color_Code <- Visual[i,]$Color_Code
final_1 <- rbind(final_1, final_2)
time <- time + Visual[i,]$Standard_Duration
}
}else{
while(time <= time_end){
final_2[i,]$Time <- time
final_2[i,]$Appointment_AIM <- Visual[i,]$Appointment
final_2[i,]$AIM_Abbreviation <- Visual[i,]$Abbreviation
final_2[i,]$Standard_Duration <- Visual[i,]$Standard_Duration
final_2[i,]$Booking_Factor <- Visual[i,]$Booking_Factor
final_2[i,]$Appointment_Categories_ACM <- Visual[i,]$Appointment_Categories
final_2[i,]$ACM_Abbreviation <- Visual[i,]$Abbreviation
final_2[i,]$Color_Code <- Visual[i,]$Color_Code
final_1 <- rbind(final_1, final_2)
time <- time + Visual[i,]$Standard_Duration
}
}
}else{
if(is.null(time_end)){
while(time <= max_time){
final_2[i,]$Time <- time
final_2[i,]$Appointment_AIM <- Visual[i,]$Appointment
final_2[i,]$AIM_Abbreviation <- Visual[i,]$Abbreviation
final_2[i,]$Standard_Duration <- Visual[i,]$Standard_Duration
final_2[i,]$Booking_Factor <- Visual[i,]$Booking_Factor
final_2[i,]$Appointment_Categories_ACM <- Visual[i,]$Appointment_Categories
final_2[i,]$ACM_Abbreviation <- Visual[i,]$Abbreviation
final_2[i,]$Color_Code <- Visual[i,]$Color_Code
final_1 <- rbind(final_1, final_2)
time <- time + Visual[i,]$Standard_Duration
}
}else{
while(time <= time_end){
final_2[i,]$Time <- time
final_2[i,]$Appointment_AIM <- Visual[i,]$Appointment
final_2[i,]$AIM_Abbreviation <- Visual[i,]$Abbreviation
final_2[i,]$Standard_Duration <- Visual[i,]$Standard_Duration
final_2[i,]$Booking_Factor <- Visual[i,]$Booking_Factor
final_2[i,]$Appointment_Categories_ACM <- Visual[i,]$Appointment_Categories
final_2[i,]$ACM_Abbreviation <- Visual[i,]$Abbreviation
final_2[i,]$Color_Code <- Visual[i,]$Color_Code
final_1 <- rbind(final_1, final_2)
time <- time + Visual[i,]$Standard_Duration
}
}
}
}发布于 2022-09-15 22:44:25
注意NAs和NULL值之间的区别。选择下列表达式的输出:
is.null(NA)
[1] FALSE
while(NA) {TRUE}
"Error in while (NA) { : missing value where TRUE/FALSE needed"如果我们正在寻找需要嵌套if/else或ifelse的条件转换,那么我们最好使用dplyr::case_when。
https://stackoverflow.com/questions/73735764
复制相似问题