2013-07-05 97 views

回答

3

而对于笑,这里是一个基R法,这是公认的非常难看:

Reduce(c, 
lapply(
    as.Date(paste0("1-",as.character(df$date)),format="%d-%Y%m"), 
    function(x) seq.Date(x,length=2,by="1 month")[2] - 1 
) 
) 

[1] "1989-12-31" "1990-01-31" "1990-02-28" "1990-03-31" 
4

使用yearmon类,然后从as.Date.yearmonhelp('yearmon')引述:

as.Date.yearmon和as.yearmon.yearqtr每个具有“压裂”的可选的第二个参数,它是一个数字介于0和1之间(包括0和1),表示结果所代表的周期的一部分。默认值是0,表示期间的开始。

as.Date(as.yearmon(as.character(df$date), format = '%Y%m'), frac=1) 
## [1] "1989-12-31" "1990-01-31" "1990-02-28" "1990-03-31" 
相关问题