Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 午夜后次数的增量日期_R_Datetime_Time - Fatal编程技术网

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))