如何在 R 中将数字类型转换为 "seconds"
how to convert numeric type to "seconds" in R
我想通过这样做创建时间序列数据框:
x <- xts(data$length,data$Time.Elapsed)
然后,我收到一条警告消息:
Error in xts(data$length, data$Time.Elapsed) :
order.by requires an appropriate time-based object
所以,我在想问题是我的 "Time.Elapsed" 是数字数据。那我想转换"Time.Elapsed"的数据类型,怎么实现呢?
>data$Time Elapsed
Time Elapsed
0
1
2
3
4
5
我想创建一个时间序列数据框,所以我需要在R中有一个基于时间的对象。这里,"Time Elapsed"是一个数值变量(这些数字代表秒);如何将其转换为时间类型 "seconds"?我搜索了数据时间转换功能,如: as.POSIX* {base}
但我认为这个功能不适合我的情况。任何人都可以帮助我吗?非常感谢!
require(lubridate)
x <- as.POSIXct(strptime(data$Time.Elapsed, format = "%S"))
as.duration(x)
这应该可以解决问题。
我相信你在这方面还不够低级。 xts
提供了一些方便的函数来帮助确定您是否可以将某些内容转换为 xts
。
xtsible(data) #Will probably tell you it fails with your current setup.
xts
建立在 zoo
的基础上,zoo
更灵活一些,但更难使用。
library(zoo)
zooData <- zoo(data$length, data$Time.Elapsed)
xtsible(zooData) #Will probably tell you it's ok, but probably doesn't matter since
#most/all of xts's functions work on zoo objects.
xtsData <- xts(zooData)
我想通过这样做创建时间序列数据框:
x <- xts(data$length,data$Time.Elapsed)
然后,我收到一条警告消息:
Error in xts(data$length, data$Time.Elapsed) :
order.by requires an appropriate time-based object
所以,我在想问题是我的 "Time.Elapsed" 是数字数据。那我想转换"Time.Elapsed"的数据类型,怎么实现呢?
>data$Time Elapsed
Time Elapsed
0
1
2
3
4
5
我想创建一个时间序列数据框,所以我需要在R中有一个基于时间的对象。这里,"Time Elapsed"是一个数值变量(这些数字代表秒);如何将其转换为时间类型 "seconds"?我搜索了数据时间转换功能,如: as.POSIX* {base}
但我认为这个功能不适合我的情况。任何人都可以帮助我吗?非常感谢!
require(lubridate)
x <- as.POSIXct(strptime(data$Time.Elapsed, format = "%S"))
as.duration(x)
这应该可以解决问题。
我相信你在这方面还不够低级。 xts
提供了一些方便的函数来帮助确定您是否可以将某些内容转换为 xts
。
xtsible(data) #Will probably tell you it fails with your current setup.
xts
建立在 zoo
的基础上,zoo
更灵活一些,但更难使用。
library(zoo)
zooData <- zoo(data$length, data$Time.Elapsed)
xtsible(zooData) #Will probably tell you it's ok, but probably doesn't matter since
#most/all of xts's functions work on zoo objects.
xtsData <- xts(zooData)