目前正在清理一个接近15M行的数据子集。最终将处理接近1.2亿行的完整数据集。
我的部分数据是以小时为单位的日期,分为两列。一列是日期(112020)格式,另一列是该日期对应的小时,为整数形式。
我用下面的代码成功实现了我的目标。
library(tibble)
library(lubridate)
df <- tibble(date = rep(c(mdy("1/1/2020")), each = 5), hour = 1:5)
hour(df$date) <- df$hour
在我那台(相当强大的)机器上,要在15M行上运行这个程序需要120秒。我通常不处理这么大的数据集,我觉得很慢,但我充其量只是一个椅子上的编码员。
这是个合理的时间框架来完成我的目标吗?如果不是,有没有其他函数或更有效的方法来完成同样的结果?
这可能更容易 paste
小时 "进入 "日期 "栏,并重新转换为 Datetime
类与 ymd_h
library(dplyr)
library(lubridate)
df %>%
mutate(date = ymd_h(str_c(date, hour, sep=' ')))