【问题标题】:R irregular time formatsR 不规则时间格式
【发布时间】:2012-03-24 18:52:40
【问题描述】:

第一列是一年中的哪一天,第二列是时间(即 2355 表示 23:55,0 表示 00:00,59 表示 00:59 分钟):测量年份=2011

2,2355,2.701 
2,2356,2.701 
2,2357,2.737
2,2358,2.805
2,2359,2.821
3,0,2.847
3,1,2.881
.
.
3,59,3.3
3,100,2.2
3,101,2.8
.
.
3,159,3.0
3,200,3.1  

我想在 R 中使用日期时间类合并第 1 列和第 2 列,这样我得到一个以 %Y-%m-%d %H:%M:%S 开头的单列

我试过了
日期时间 strptime(datetime, format="%Y-%j-%M")

但没有得到想要的输出。我哪里出错了?
干杯,
纳文

【问题讨论】:

  • 我怀疑你错过了时间规范%H。试试format="%Y-%j-%H%M"

标签: r


【解决方案1】:

除了输入小时格式规范外,您还需要用前导 0 填充 V2 值。

> datetime <- paste(2011, dat$V1, sprintf("%00004d",dat$V2), sep="-")
> strptime(datetime, format="%Y-%j-%H%M")
 [1] "2011-01-02 23:55:00" "2011-01-02 23:56:00" "2011-01-02 23:57:00" "2011-01-02 23:58:00"
 [5] "2011-01-02 23:59:00" "2011-01-03 00:00:00" "2011-01-03 00:01:00" "2011-01-03 00:59:00"
 [9] "2011-01-03 01:00:00" "2011-01-03 01:01:00" "2011-01-03 01:59:00" "2011-01-03 02:00:00"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    • 2014-11-08
    • 1970-01-01
    相关资源
    最近更新 更多