在 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"
您可以尝试 strptime
和 format
,例如
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
代表分钟。
我在日期格式方面遇到了问题。我的输入数据如下:
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"
您可以尝试 strptime
和 format
,例如
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
代表分钟。