首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决时间(time <= time_end) {:在真/假需要时缺少值的错误?

如何解决时间(time <= time_end) {:在真/假需要时缺少值的错误?
EN

Stack Overflow用户
提问于 2022-09-15 18:19:39
回答 1查看 12关注 0票数 -1

我以为我在逻辑语句中解释了NULL,但它仍然是一个错误。我不知道为什么。我无法删除数据中的NULL。Visual是一个数据,它包含一个时间值作为整数(即8:00 == 800)以及其他一些字符数据。final_1和final_2只是的空版本。我还需要为时间逻辑编写一些代码,这样当值达到60时,时间就会跳到100。

代码语言:javascript
复制
 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
      }
    }
  }
}
EN

回答 1

Stack Overflow用户

发布于 2022-09-15 22:44:25

注意NAs和NULL值之间的区别。选择下列表达式的输出:

代码语言:javascript
复制
is.null(NA)
[1] FALSE


while(NA) {TRUE}
"Error in while (NA) { : missing value where TRUE/FALSE needed"

如果我们正在寻找需要嵌套if/else或ifelse的条件转换,那么我们最好使用dplyr::case_when

代码语言:javascript
复制
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73735764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档