我在data.frame中有一个DateTime向量,其中数据框由8760个观察值组成,代表全年的每小时间隔,例如
2010-01-01 00:00
2010-01-01 01:00
2010-01-01 02:00
2010-01-01 03:00
Run Code Online (Sandbox Code Playgroud)
等等.
我想创建一个data.frame,它将原始DateTime向量作为第一列,然后是第二列中的每小时值,例如
2010-01-01 00:00 00:00
2010-01-01 01:00 01:00
Run Code Online (Sandbox Code Playgroud)
怎么能实现这一目标?
And*_*rie 12
使用format
或strptime
提取时间信息.
创建一个POSIXct向量:
x <- seq(as.POSIXct("2012-05-21"), by=("+1 hour"), length.out=5)
Run Code Online (Sandbox Code Playgroud)
提取时间:
data.frame(
date=x,
time=format(x, "%H:%M")
)
date time
1 2012-05-21 00:00:00 00:00
2 2012-05-21 01:00:00 01:00
3 2012-05-21 02:00:00 02:00
4 2012-05-21 03:00:00 03:00
5 2012-05-21 04:00:00 04:00
Run Code Online (Sandbox Code Playgroud)
如果输入向量是字符向量,则必须先转换为POSIXct:
创建一些数据
dat <- data.frame(
DateTime=format(seq(as.POSIXct("2012-05-21"), by=("+1 hour"), length.out=5), format="%Y-%m-%d %H:%M")
)
dat
DateTime
1 2012-05-21 00:00
2 2012-05-21 01:00
3 2012-05-21 02:00
4 2012-05-21 03:00
5 2012-05-21 04:00
Run Code Online (Sandbox Code Playgroud)
分时超时:
data.frame(
DateTime=dat$DateTime,
time=format(as.POSIXct(dat$DateTime, format="%Y-%m-%d %H:%M"), format="%H:%M")
)
DateTime time
1 2012-05-21 00:00 00:00
2 2012-05-21 01:00 01:00
3 2012-05-21 02:00 02:00
4 2012-05-21 03:00 03:00
5 2012-05-21 04:00 04:00
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23702 次 |
最近记录: |