【发布时间】:2017-09-12 20:12:20
【问题描述】:
我有各种文件名,如下所示: 文件
问题 1: 我想要上面文件中的日期时间部分(2015011500)。我写了以下代码:
# Fetching the date vlaue from the filename
a<-substr(gsub("[A-z]|[////]","",file),6,13)
a
[1] "20150115"
hrs<-substr(gsub("[A-z]|[////]","",file),14,15)
hrs
[1] "00"
#concatenating both date and a as one
chr<-paste(a,hrs, sep=" ")
chr
[1] "20150115 00"
但是当我试图将 chr 转换为日期时。我得到 NULL 值。
#Converting chr variable to date
datetime<-as.Date(a,format="%Y%m%d %H")
Result:
datetime
[1] NA
问题 2: 我想从文件名中获取 264 。代码如下:
validhrs<-substr(gsub("[A-z]|[////]","",ncfname),17,19)
Result:
validhrs
[1] "264"
我想将此有效时间转换为时间(小时)。然后将其添加到日期时间
谁能帮我解决这个问题?
提前致谢!!
【问题讨论】:
-
您在
as.Date函数中使用a而不是chr。如果您使用chr,as.Date.或as.POSIXct将正常工作。 -
对于您的第一个问题,使用
as.POSIXct(用于日期时间)而不是as.Date(仅用于日期)。日期不包括小时和分钟。 -
@D.sen 和 @NathanWerth,我使用 as.POSIXct,得到以下值:
datetime<-as.POSIXct(chr,format="%Y%m%d %H%M%S") > datetime [1] NA。有什么意见吗? -
^ 不要添加
%M%S,您的字符串不反映该格式