2015-06-10 80 views
2

我試圖獲得給定月份中的天數。但我無法弄清楚如何從「days_in_month」函數中刪除數字部分。R中月份的天數?

require(lubridate) 
st <- as.Date("1998-12-17") 
en <- as.Date("2000-1-7") 
ll <- seq(en, st, by = "-1 month") 
t<-days_in_month(ll) 

這是返回:

Jan Dec Nov Oct Sep Aug Jul Jun May Apr Mar Feb Jan 
31 31 30 31 30 31 31 30 31 30 31 28 31 

我不想讓揚....怎麼辦去剛開號碼的載體?

謝謝

+2

嘗試'unname(T)'或'as.vector(T)' – akrun

+2

你是剛號碼的載體。除非您明確提及它們,否則這些名稱不會做任何事 - 例如'mean(days_in_month(ll))'將會工作得很好。 – thelatemail

回答

1

如果str(t),你看,你已經生成的是一個整數列表,與名字屬性。

Named int [1:13] 31 31 30 31 30 31 31 30 31 30 ... 
- attr(*, "names")= chr [1:13] "Jan" "Dec" "Nov" "Oct" ... 

要刪除的屬性,只是

as.numeric(t) 
# [1] 31 31 30 31 30 31 31 30 31 30 31 28 31 

或者,更有效地汽提名

unname(t) 
[1] 31 31 30 31 30 31 31 30 31 30 31 28 31 

或呈現爲矢量(均由@akrun

as.vector(t) 
上面所建議的

[1] 31 31 30 31 30 31 31 30 31 30 31 28 31

另外,正如@thelatemail所指出的那樣,這通常是無關緊要的,因爲需要數字的函數會爲你剝離(儘管有時屬性會導致錯誤)。