【发布时间】:2017-01-18 09:42:01
【问题描述】:
我的数据样本:
> test_data
matlab.time timedate
1 736148.38577941596 <NA>
2 736148.38647386897 <NA>
3 736148.41911317594 <NA>
4 736148.41980762896 <NA>
5 736148.42119653604 <NA>
我尝试将这些 matlab 时间转换为正常日期:
for (i in 1:length(testidata$timedate)) {
h <- as.POSIXct((test_data[i,1] - 719529)*86400, origin = "1970-01-01", tz = "UTC")
test_data[i, 2] <- strftime(h)
}
但结果是
> test_data
matlab.time timedate
1 736148.38577941596 2015-07-03 12:15:31
2 736148.38647386897 <NA>
3 736148.41911317594 <NA>
4 736148.41980762896 <NA>
5 736148.42119653604 <NA>
为什么所有的matlab时间都不会转换?
【问题讨论】:
-
应该
testidata是test_data(在您的通话设置中)? -
哎呀,是的,谢谢。现在可以使用了
-
您应该能够使这段代码更简单。作为。 POSIXct 是矢量化的 - 无需一次给数据一个元素
标签: r matlab datetime for-loop