在 R 中从这个 format:YYYYddmm 创建日期

Create Date from this format:YYYYddmm in R

我在日期格式方面遇到了问题。我的输入数据如下:

73;2013120101;   7;  38;   0.1;  99.0;eor

第二列 2013120101 是我的日期列。 我想将它导入到 R 中进行处理,最终它应该看起来像

1969 01 02 00:00

这边

 dwd <- read.csv(file="testdwd.txt",header=T,sep=";",stringsAsFactors=F)
 dwd[,1] <- ymd(dwd[,1])

产量 1982-12-01 但我不知道如何完成其​​余部分。

基本函数 strptime 正确处理它:

> dwd <- read.csv(textConnection("73;2013120101;   7;  38;   0.1;  99.0;eor"),
                  sep=";",stringsAsFactors=F,head=F)
> strptime(dwd[2],"%Y%m%d%H")
                   V2 
"2013-12-01 01:00:00" 

使用 lubridate

require("lubridate")

#dummy data
x <- read.table(text="73;2013120101;   7;  38;   0.1;  99.0;eor",sep=";")

#reformat
ymd_hms(paste0(x$V2,"0000"))

#output
#[1] "2013-12-01 01:00:00 UTC"

您可以尝试 strptimeformat,例如

d <- "2013120121"
x <- strptime(x=d, format = "%Y%m%d%H")
format(x, "%Y %m %d %k:%M")
## [1] "2013 12 01 21:00" # which gives the desired output

%Y代表年,%m代表月,%d代表日,%k代表小时,%M代表分钟。