R 将yyyymm整数转换为日期
我想将R 将yyyymm整数转换为日期,r,date,integer,R,Date,Integer,我想将YYYYMM整数转换为日期,而不将其转换为字符(=是否有类似于SAS中的mdy函数?)。我想替换此代码: dateint<-201511 datestr<-paste(toString(dateint,length=8),'01') date<-as.Date(datestr,'%Y%m%d') print(date) class(date) dateint该软件包lubridate具有一个功能ymd,可接受数字输入: > library(lubrida
YYYYMM整数
转换为日期,而不将其转换为字符(=是否有类似于SAS中的mdy函数?)。我想替换此代码:
dateint<-201511
datestr<-paste(toString(dateint,length=8),'01')
date<-as.Date(datestr,'%Y%m%d')
print(date)
class(date)
dateint该软件包lubridate具有一个功能ymd
,可接受数字输入:
> library(lubridate)
> ymd(20151101)
[1] "2015-11-01 UTC"
但是,您需要在末尾添加日期 lubridate软件包有一个功能ymd
,可接受数字输入:
> library(lubridate)
> ymd(20151101)
[1] "2015-11-01 UTC"
但是,您需要在末尾添加日期 请解释为什么您的解决方案不足以满足您的目的。由于闰年(以及与之相关的复杂规则),不解析字符串(从而使用操作系统设施)的解决方案是不可行的。为什么转换为字符不可行?在我看来,将数字转换为字符,然后再转换回数字(=日期)感觉很奇怪。也许这是一个愚蠢的问题,或者让我用这样的方式提出这样的问题:有经验的人会考虑第一段代码是否正确的编程?但是,你所拥有的不是真正的数字。@ r.USER。05APR,你的代码很好。只有您不需要使用toString,因为.character就足够了。您甚至不需要使用该选项,paste
将自动将数值转换为字符串。请解释为什么您的解决方案不足以满足您的需要。由于闰年(以及与之相关的复杂规则),不解析字符串(从而使用操作系统设施)的解决方案是不可行的。为什么转换为字符不可行?在我看来,将数字转换为字符,然后再转换回数字(=日期)感觉很奇怪。也许这是一个愚蠢的问题,或者让我用这样的方式提出这样的问题:有经验的人会考虑第一段代码是否正确的编程?但是,你所拥有的不是真正的数字。@ r.USER。05APR,你的代码很好。只有您不需要使用toString,因为.character就足够了。您甚至不需要使用它,paste
将自动将数值转换为字符串。它在内部转换为字符。我没有声明它没有:)它在内部转换为字符。我没有声明它没有:)