R-如何将.POSIX应用于具有小数位数的时间

问题描述

我具有以下日期时间格式(startimestoptime):

objectid                     endtime                   starttime
1     310822 2020-09-07T00:00:00.0000000 2020-09-06T00:00:00.0000000
2     310821 2020-09-06T19:34:40.0000000 2020-09-06T19:33:21.0000000
3     310820 2020-09-06T19:32:09.0000000 2020-09-06T19:31:22.0000000
4     310819 2020-09-06T19:31:12.0000000 2020-09-06T19:30:31.0000000
5     310818 2020-09-06T19:29:16.0000000 2020-09-06T19:28:12.0000000
6     310817 2020-09-06T19:27:55.0000000 2020-09-06T19:27:09.0000000
7     310816 2020-09-06T19:25:03.0000000 2020-09-06T19:22:51.0000000

秒后有很多小数位(这是正确的术语),因此时间非常精确。

我正在尝试通过以下代码应用as.POSIX:

# grabs starttime and endtime
cols = grep( "time$",names(dataset),value = TRUE )

dataset[,(cols) := lapply( .SD,as.POSIXct,format = "%Y-%m-%dT%H:%M:%s"),.SDcols = cols ]

但是我总是收到错误消息:

Error in `[.data.frame`(dataset,`:=`((cols),lapply(.SD,: 
  unused argument (.SDcols = cols)

我发现format"%Y-%m-%dT%H:%M:%s"出了问题,如何正确格式化上面数据中的日期和时间?

如果没有更好的方法,我该如何清除数据以在几秒钟后消除小数位?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)