我正在使用readxl
将多个Excel工作表导入到R中。这些表格中的每一个都包含对包含DateOfEvent
和TimeOfEvent
字段的交易的观察。
当我导入时间字段时,R会根据Excel第0天的日期将其转换为POSIXct对象 - 即1899-12-31 0:0:0
e.g。 dat <- data.frame(date=Sys.Date()+0:1, time=as.POSIXct(c(10,11), origin="1899-12-31"))
使用数据框中的数据,使用dplyr
步骤清理我的数据,我将如何 -
lubridate
使用DateOfEvent值重新编码变量的日期部分?答案 0 :(得分:0)
使用update()
更改time
中的年份
如果您想从time
中提取时间对象(这将转换为UTC),请使用hms::as.hms()
:
library(tidyverse)
dat %>%
mutate(time = update(time,
year = year(date),
month = month(date),
day = day(date)),
hms = hms::as.hms(time))
date time hms
1 2018-06-02 2018-06-02 16:00:10 23:00:10
2 2018-06-03 2018-06-03 16:00:11 23:00:11