首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:如果.{:在需要TRUE/FALSE的情况下缺少值时出错

R:如果.{:在需要TRUE/FALSE的情况下缺少值时出错
EN

Stack Overflow用户
提问于 2021-01-21 00:17:31
回答 1查看 1.6K关注 0票数 0

我试图运行以下if语句,其中两个if语句将显示"Y“,否则返回"N”。但是,我得到了以下错误: if (data.joined$**actual goods issue date**i > data.joined$**target date**i) {:缺失值中的错误,其中TRUE/FALSE需要

代码语言:javascript
复制
for(i in 1:nrow(data.joined)){
  if(data.joined$`actual goods issue date`[i] > data.joined$`target date`[i]) {
    data.joined$late.delivery.test[i] <- "Y"
  } else if(is.na(data.joined$`actual goods issue date`[i]) == TRUE && today() > data.joined$`target date`[i]) {
    data.joined$late.delivery.test[i] <- "Y"
  } else {
    data.joined$late.delivery.test[i] <- "N"
  }
}
EN

回答 1

Stack Overflow用户

发布于 2021-01-21 03:39:34

您可以使用if_else

代码语言:javascript
复制
library(dplyr)
library(lubridate)

data.joined <- data.joined %>%
  mutate(late.delivery.test = if_else(`actual goods issue date` > `target date` |
         (is.na(`actual goods issue date`) & today() > `target date`), 'Y', 'N'))

使用R基:

代码语言:javascript
复制
data.joined <- transform(data.joined, 
         late.delivery.test = ifelse(`actual goods issue date` > `target date` | 
      (is.na(`actual goods issue date`) & Sys.Date() > `target date`), 'Y', 'N'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65819506

复制
相关文章

相似问题

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