新手在这里,第一次发帖(请温柔)。我一直在尝试解决这个问题几个小时,所以终于决定有时间咨询一下。
我有一个用 readxl 导入的大型电子表格。它包含一列日期(格式 dd/mm/yyyy)和几个格式为 hh:mm 的时间列,如图所示:excel
本质上,我希望能够同时导入时间和日期列并将它们组合起来,这样我就可以进行其他一些计算,比如经过的时间。
如果我导入让 R 猜测 col-types,它会将时间转换为 POSIXct,但这些会附加一个 1899 年的日期:R_POSIXct
如果我强制 readxl 将时间列分配给数字,我会得到一个小数(例如 0.315972222 表示 07:35),然后尝试使用类似的语法转换为
格式(as.POSIXct(Sys.Date() + 0.315972222), "%Y-%m-%d %H:%M:%S", tz="UTC")
IE
df$datetime <- format(as.POSIXct(df$date + df$time), "%Y-%m-%d %H:%M", tz="UTC")
这导致正确的日期,但时间为 00:00,而不是经过的时间。
我试过在这里搜索,发现帖子不是完全相同的问题(例如将日期和时间列组合到 dd/mm/yyyy hh:mm中),并且已经广泛阅读,包括关于 lubridate,但因为我只有 6进入 R 的几个月,我发现一些解释有点神秘。
建议或 ignposting 赞赏(如果有我还没有找到的解决方案)