2013-07-05 261 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" 
相關問題