2014-02-14 178 views
0

我有一段時間(110年)已被劃分爲五位數(5天期),所以我有8030個值。我想要做的是爲每個值分配對應的月份,例如,與全部前五天相對應的第一個值將被分配到一月,依此類推。Julian日期至月份R

chron包可以做到這一點嗎?

非常感謝

+2

請給出一個數據的例子,並告訴我們你到目前爲止所嘗試過的。 –

回答

2

有很多方法可以在本月退休。我們以今天爲例。

(x <- Sys.Date()) 

對於大多數的日期和時間的行爲,該lubridate包應該是你的第一個停靠港。這有month功能,可以做你想做的。

library(lubridate) 
month(x) 
## [1] 2 
month(x, label = TRUE) 
## [1] Feb 
## Levels: Jan < Feb < Mar < Apr < May < Jun < Jul < Aug < Sep < Oct < Nov < Dec 
month(x, label = TRUE, abbr = FALSE) 
## [1] February 
## 12 Levels: January < February < March < April < May < June < July < ... < December 

chron封裝具有month.day.year功能檢索的日期的那些三個分量。

month.day.year(x) 
## $month 
## [1] 2 
## 
## $day 
## [1] 14 
## 
## $year 
## [1] 2014 

data.table包還具有month功能。

library(data.table) 
month(x) 
## [1] 2 
+0

In base:'as.POSIXlt(x)$ mon + 1' – Roland

+0

@Roland是的。看看'body(data.table :: month)'。 –