【发布时间】:2020-06-23 13:33:11
【问题描述】:
我正在尝试根据一天中的时间来操作日期时间向量中的日期。
向量 newmagic 中的每个项目都类似于“2020-03-05 02:03:54 UTC” 对于时间在 19:00 到 23:59 之间的所有项目,我想回去一天。
我试着写一个 if 语句:
if(hour(newmagic)>=19&hour(newmagic)<=23){
date(newmagic)<-date(newmagic)-1
}
没有输出,但是
警告信息:在 if (hour(newmagic) >= 19 & hour(newmagic) 1,只有第一个元素是 用过
当我将数据限制为条件并简单地执行 date()-1
newmagic[hour(newmagic)>=19&hour(newmagic)<=23&!is.na(newmagic)] <- date(newmagic[hour(newmagic)>=19&hour(newmagic)<=23&!is.na(newmagic)])-1
输出确实删除了 1 天,但也将时间设置为 0 原文:
“2020-03-07 20:58:00 UTC”
在 date()-1 之后
“2020-03-06 00:00:00 UTC”
我真的不知道该怎么做。 我如何调整 if 语句,使其真正按照我的意图执行? 如何重写第二种方法中的限制,以使时间本身保持不变?
感谢您的帮助
【问题讨论】:
标签: r if-statement lubridate