R 午夜后次数的增量日期
我得到了这个数据帧:R 午夜后次数的增量日期,r,datetime,time,R,Datetime,Time,我得到了这个数据帧: bedtime waketime 2021-01-01 21:55:00 2021-01-02 09:00:00 2021-01-02 00:15:00 2021-01-03 08:45:00 2021-01-03 01:05:00 2021-01-04 08:40:00 2021-01-04 02:01:00 2021-01-05 10:50:00 2021-01-05 00:20:00 2021-01-06 08:4
bedtime waketime
2021-01-01 21:55:00 2021-01-02 09:00:00
2021-01-02 00:15:00 2021-01-03 08:45:00
2021-01-03 01:05:00 2021-01-04 08:40:00
2021-01-04 02:01:00 2021-01-05 10:50:00
2021-01-05 00:20:00 2021-01-06 08:45:00
2021-01-06 02:25:00 2021-01-07 10:55:00
2021-01-07 00:25:00 2021-01-08 06:45:00
2021-01-08 00:10:00 2021-01-09 09:15:00
2021-01-09 00:20:00 2021-01-10 08:15:00
2021-01-10 00:00:00 2021-01-11 08:45:00
我想在午夜(+1天)后更改泰晤士报的日期
我以前用一个不同的数据帧来做这件事,这段代码运行得非常好
df[hour(df$bedtime) < 12, "bedtime"] <- df$bedtime[hour(df$bedtime) < 12, "bedtime"] + (24*60*60)
df[hour(df$bedtime)<12,“bedtime”]使用which
试试这个,这样你就不用再担心NA
问题了
d[] <- lapply(d, as.POSIXct) ## first transform to POSIX if isn't yet
d <- transform(d, bedtime.old=bedtime, waketime.old=waketime) ## copy for demonstration
ix <- which(strftime(d$bedtime, "%H") < 12)
d[ix, "bedtime"] <- d[ix, "bedtime"] + 24*60*60
d
# bedtime waketime bedtime.old waketime.old
# 1 2021-01-01 21:55:00 2021-01-02 09:00:00 2021-01-01 21:55:00 2021-01-02 09:00:00
# 2 2021-01-03 00:15:00 2021-01-03 08:45:00 2021-01-02 00:15:00 2021-01-03 08:45:00
# 3 2021-01-04 01:05:00 2021-01-04 08:40:00 2021-01-03 01:05:00 2021-01-04 08:40:00
# 4 2021-01-05 02:01:00 2021-01-05 10:50:00 2021-01-04 02:01:00 2021-01-05 10:50:00
# 5 2021-01-06 00:20:00 2021-01-06 08:45:00 2021-01-05 00:20:00 2021-01-06 08:45:00
# 6 2021-01-07 02:25:00 <NA> 2021-01-06 02:25:00 <NA>
# 7 2021-01-08 00:25:00 2021-01-08 06:45:00 2021-01-07 00:25:00 2021-01-08 06:45:00
# 8 2021-01-09 00:10:00 2021-01-09 09:15:00 2021-01-08 00:10:00 2021-01-09 09:15:00
# 9 <NA> 2021-01-10 08:15:00 <NA> 2021-01-10 08:15:00
d[]Try:df[hour(df$bedtime)<12,“bedtime”]是的,这是我已经尝试过的,但是出现了错误如何构建数据帧?你有没有代码可以用来重现你的例子中显示的df?哦,是的,我的错!非常感谢你,这成功了!唯一的问题是,如果数据帧包含NAs,它就无法工作。如果我无法删除这些案例,因为它们包含其他重要信息,我该如何处理?
d <- structure(list(bedtime = c("2021-01-01 21:55:00", "2021-01-02 00:15:00",
"2021-01-03 01:05:00", "2021-01-04 02:01:00", "2021-01-05 00:20:00",
"2021-01-06 02:25:00", "2021-01-07 00:25:00", "2021-01-08 00:10:00",
NA, "2021-01-10 00:00:00"), waketime = c("2021-01-02 09:00:00",
"2021-01-03 08:45:00", "2021-01-04 08:40:00", "2021-01-05 10:50:00",
"2021-01-06 08:45:00", NA, "2021-01-08 06:45:00", "2021-01-09 09:15:00",
"2021-01-10 08:15:00", "2021-01-11 08:45:00")), class = "data.frame", row.names = c(NA,
-10L))