25
A
回答
44
看看month.abb
常數。例如,假設你有包括每月的數量,那麼你可以用它做得到月份名稱的三個字母的縮寫整數向量:
> month <- c(12,3,6,2,3,7)
> month.abb[month]
[1] "Dec" "Mar" "Jun" "Feb" "Mar" "Jul"
4
如果英文縮寫是可以接受的, R有一個內置常量month.abb
縮寫月份名稱的向量。只需使用您的數字日期來索引縮寫月份名稱的矢量。例如,使用虛擬數據:
set.seed(1)
df <- data.frame(A = runif(10), Month = sample(12, 10, replace = TRUE))
這裏有幾種選擇指數month.abb
通過Month
:
> with(df, month.abb[Month])
[1] "Mar" "Mar" "Sep" "May" "Oct" "Jun" "Sep" "Dec" "May" "Oct"
> df <- transform(df, MonthAbb = month.abb[Month])
> df
A Month MonthAbb
1 0.26550866 3 Mar
2 0.37212390 3 Mar
3 0.57285336 9 Sep
4 0.90820779 5 May
5 0.20168193 10 Oct
6 0.89838968 6 Jun
7 0.94467527 9 Sep
8 0.66079779 12 Dec
9 0.62911404 5 May
10 0.06178627 10 Oct
6
使用lubridate,構建載體從已知的月日起:
測試:對於這些月份的數字,假設Jan = 1:
> m = c(1,2,6,7,9,10,11,12,0,99,NA)
辦:
> require(lubridate)
> as.character(month(ymd(010101) + months(m-1),label=TRUE,abbr=TRUE))
[1] "Jan" "Feb" "Jun" "Jul" "Sep" "Oct" "Nov" "Dec" "Dec" "Mar" NA
其中(m-1)
是因爲我們從一月份的某個日期開始。
要了解,用於比較:
> cbind(m,as.character(month(ymd(010101) + months(m-1),label=TRUE,abbr=TRUE)))
m
[1,] "1" "Jan"
[2,] "2" "Feb"
[3,] "6" "Jun"
[4,] "7" "Jul"
[5,] "9" "Sep"
[6,] "10" "Oct"
[7,] "11" "Nov"
[8,] "12" "Dec"
[9,] "0" "Dec"
[10,] "99" "Mar"
[11,] NA NA
注意它解釋月號作爲MOD-12,從而99名映射到3(99 = 3 +(8 * 12))和NA NA返回。已經發布的一些答案不會這樣做。 -1是自十一月0是十二月
7
如果您需要非標準月份縮寫,然後創建自己一個月的查找向量:
#dummy data
df <- data.frame(month = c(1,3,5))
#months vector assuming 1st month is Jan.
mymonths <- c("Jan","Feb","Mar",
"Apr","May","Jun",
"Jul","Aug","Sep",
"Oct","Nov","Dec")
#add abbreviated month name
df$MonthAbb <- mymonths[ df$month ]
#result
df
# month MonthAbb
# 1 1 Jan
# 2 3 Mar
# 3 5 May
5
發生變異。
library(dplyr)
df <- mutate(month = month.abb[month])
比變換還快。
df <- system.time(transform(df, month = month.abb[month]))
df <- system.time(mutate(df, month = month.abb[month]))
相關問題
- 1. 轉換一個月縮寫爲數字月份,R中
- 2. 如何將月份數字轉換爲月份短名稱?
- 3. 哈希將月份轉換爲數字
- 4. 將月份mmm轉換爲數字
- 5. 將月份名稱轉換爲數字
- 6. 如何將月份轉換爲java中的年份和月份
- 7. 跳過縮寫月份名稱爲月
- 8. 如何將數字月份數字轉換爲使用PHP的月份名稱
- 9. 轉換月份名稱爲月數
- 10. Bigquery:將縮短的月份字符串轉換爲數字
- 11. 將縮短的月份名稱轉換爲較長的月份名稱
- 12. 將月份名稱轉換爲SQL Server中的月份編號
- 13. 將月份名稱轉換爲月份編號SSRS
- 14. moment.js - 將短月份轉換爲長月份嗎?
- 15. 如何將月份名稱轉換爲月份編號
- 16. 將月份編號轉換爲月份名稱
- 17. 將年份日月轉換爲月份日
- 18. 將月份名稱轉換爲實際月份
- 19. 使用sql將月份編號轉換爲月份名稱
- 20. 使用JavaScript將月份名稱轉換爲月份編號
- 21. 將月份int轉換爲月份名稱
- 22. PHP:將本地月份名轉換爲月份號
- 23. 將月份文本轉換爲JSON中的月份編號
- 24. Python:將小數轉換爲月份
- 25. 如何將月份從unix時間戳從數字轉換爲月份名稱?
- 26. 如何將數字月份轉換爲C#控制檯中的月份全名
- 27. 如何在Java中將月份名稱轉換爲月份數字使用JCombobox
- 28. 如何在Oracle中將月份數字轉換爲完整的月份名稱?
- 29. 轉換月份數月的短名
- 30. 轉換月份全名,以每月數
month.abb [month]適合我。謝謝 – andrii