在大型数据集中将数字的索引转换为R中的时间

时间:2019-04-02 03:19:34

标签: r time

我有一个约2亿行的数据表。有四列:

  • 个人ID
  • 日期(以字符形式)
  • 半小时(索引为1:48)
  • 数据

我正在尝试创建一个将时间和日期结合在一起的列。

到目前为止,我还无法将半小时索引转换为时间变量。我已经运行了以下代码:

thirtymins <- hms("00:30"00") #from lubridate
dataset$halfhour <- dataset$halfhour * thirtymins

当我运行此代码时,它使计算机崩溃。

当我只运行前一百万行(0.5%)时,它需要1.75分钟,因此,整个数据集要花大约6个小时。

有更好的方法吗?

编辑:(很抱歉,不确定在注释中如何操作)

dput(head(dataset))的输出。

structure(list(ID = c("1", "1", "1", 
"1", "1", "1"), date = c("2016-07-01", 
"2016-07-01", "2016-07-01", "2016-07-01", "2016-07-01", "2016-07-01"
), halfhour = 1:6, data = c(6.8, 4.82, 4.4, 4.36, 
4.4, 4.02)), class = c("data.table", "data.frame"), row.names = c(NA, 
-6L), .internal.selfref = <pointer: 0x00000000025a1ef0>)

0 个答案:

没有答案