你如何评估R中if语句的时间

时间:2014-05-21 13:58:37

标签: r

library(chron)
t<-times(c("03:00:00"))

dput(s)
structure(list(Description = "ServerA", Value = 173.59), .Names = c("Description", 
"Value"), class = "data.frame", row.names = 9L)

我正在尝试对此数据框执行此if语句以创建Status列:

if(s$Description %in% c("ServerA") & (t>times(c("23:59:59")) & t<times(c("05:00:00"))) & s$Value<500){
    s$Status<-c("Green")
}

不起作用。知道我在这里缺少什么吗?我的if语句有效吗?

1 个答案:

答案 0 :(得分:1)

代码有效,但它不会在s中添加/更改状态,因为它是错误的。这是因为t有两个条件:它应该大于23:59:59并且同时小于05:00:00。但在你的情况下,它不会超过23:59:59。您可以通过分别运行每个if条件来解决这个问题。