2017-08-02 89 views
0

一個專欄中,我想使用動物園庫,並專門as.yearmon功能如下:如何結合月份和年份爲R中

df$YearMonth <- as.yearmon(paste(df$year, df$month), "%Y %m") 

然而,由此產生的「YearMonth」列顯示列的NA。你知道發生了什麼問題嗎?是否有可能是因爲我的數據中的月份和年份變量分別是因子和整數?

+1

您可以舉一個輸入和輸出數據的例子嗎? – BLT

+0

使用'sep =「 - 」' –

+0

我已經嘗試過sep =「 - 」,並且yearmonth列仍然填充了不適用 –

回答

1

你一定要配合裏面是什麼paste()與格式參數"%Y %m"這樣的:如果你有適當的投入

df$YearMonth <- as.yearmon(paste(df$year, " ", df$month), "%Y %m") 
0

您的代碼應該工作。例如,所有這些工作:

library(zoo) 

yr <- 2001:2003 
mo <- 1:3 

as.yearmon(paste(yr, " ", mo), format = "%Y %m") 
## [1] "Jan 2001" "Feb 2002" "Mar 2003" 

as.yearmon(paste(yr, mo), format = "%Y %m") 
## [1] "Jan 2001" "Feb 2002" "Mar 2003" 

as.yearmon(paste0(yr, " ", mo), format = "%Y %m") 
## [1] "Jan 2001" "Feb 2002" "Mar 2003" 

as.yearmon(paste(yr, mo, sep = "-")) 
## [1] "Jan 2001" "Feb 2002" "Mar 2003" 

as.yearmon(paste0(yr, "-", mo)) 
## [1] "Jan 2001" "Feb 2002" "Mar 2003" 

as.yearmon(yr + (mo - 1)/12) 
## [1] "Jan 2001" "Feb 2002" "Mar 2003"