R - 数字(整数)到日期的转换
R - Numeric(int) to Date conversion
我有一个 date.frame
和一个带有
的列
values(20180213190133, 20180213190136, 20180213190173 , 20180213190193 , 20180213190213, 20180213190233, 20180213190333, 20180213190533, 20180213190733, 20180213190833, 20180213190833, 20180213190833, 201802131901833, 20180213191133, 20180213192133, 20180213194133, 20180213199133, 20180213199133, 20180213199133, 20180213199133, 20180213190136.... 1200 entries)
我想将 int
类型的列转换为 Date
。
我尝试使用:
as.Date()
和 as.POSIXct()
。两者都不起作用。我得到 N/A 值。
请告诉我如何将此字段从 int 转换为 Date。
谢谢
试试这个:
输入数据
values<-c(20180213190133, 20180213190136, 20180213190173)
values_date<-as.Date(substr(as.character(values),start = 1,stop=8), format = "%Y%m%d")
> values_date
[1] "2018-02-13" "2018-02-13" "2018-02-13"
> class(values_date)
[1] "Date"
如果你也想维护hour/minute/second你可以试试这个:
values_date<-as.POSIXlt(as.character(values), format = "%Y%m%d%H%M%S")
在此之后 class 将是 "POSIXlt" "POSIXt"
而不是 Date
但是您的输入数据中有一些奇怪的信息
在第三个数字中,最后两个数字是“73”,这个数字是错误的秒数,你将在输出中得到 NA
。
values_date
[1] "2018-02-13 19:01:33 CET" "2018-02-13 19:01:36 CET" NA
我有一个 date.frame
和一个带有
values(20180213190133, 20180213190136, 20180213190173 , 20180213190193 , 20180213190213, 20180213190233, 20180213190333, 20180213190533, 20180213190733, 20180213190833, 20180213190833, 20180213190833, 201802131901833, 20180213191133, 20180213192133, 20180213194133, 20180213199133, 20180213199133, 20180213199133, 20180213199133, 20180213190136.... 1200 entries)
我想将 int
类型的列转换为 Date
。
我尝试使用:
as.Date()
和 as.POSIXct()
。两者都不起作用。我得到 N/A 值。
请告诉我如何将此字段从 int 转换为 Date。
谢谢
试试这个:
输入数据
values<-c(20180213190133, 20180213190136, 20180213190173)
values_date<-as.Date(substr(as.character(values),start = 1,stop=8), format = "%Y%m%d")
> values_date
[1] "2018-02-13" "2018-02-13" "2018-02-13"
> class(values_date)
[1] "Date"
如果你也想维护hour/minute/second你可以试试这个:
values_date<-as.POSIXlt(as.character(values), format = "%Y%m%d%H%M%S")
在此之后 class 将是 "POSIXlt" "POSIXt"
而不是 Date
但是您的输入数据中有一些奇怪的信息
在第三个数字中,最后两个数字是“73”,这个数字是错误的秒数,你将在输出中得到 NA
。
values_date
[1] "2018-02-13 19:01:33 CET" "2018-02-13 19:01:36 CET" NA