簡體   English   中英

將數據從 yyyyMM 轉換為 yyyyQQ

[英]Converting data from yyyyMM to yyyyQQ

我的日期數據采用“yyyymm”格式,特別是 20071 / 20074 / 20077 / 200710。

我想將其轉換為四分之一。

此外,在另一個數據集中,我有我想要匯總到季度的每月數據。 有功能嗎?

在基礎 R 中,您可以附加一個臨時日期並從中提取年份和季度。

x <- as.character(c(20071, 20074, 20077, 200710))
temp <- as.Date(paste(x, "01"), "%Y%m %d")
paste(format(temp, "%Y"), quarters(temp))
#[1] "2007 Q1" "2007 Q2" "2007 Q3" "2007 Q4"

如果您想要季度作為數字,我們可以使用lubridate::quarter

paste(format(temp, "%Y"), lubridate::quarter(temp))
#[1] "2007 1" "2007 2" "2007 3" "2007 4"

yearqtr類在內部將年度和季度表示為一年加上一個分數(Q1 為 0,Q2 為 1/4,Q3 為 2/4,Q4 為 3/4)並顯示如下:

library(zoo)
ym <- c(20071, 20074, 20077, 200710) # test data

yq <- as.yearqtr(as.character(ym), "%Y%m")
yq
## [1] "2007 Q1" "2007 Q2" "2007 Q3" "2007 Q4"

最好將其保留為yearqtr因為您可以對其執行許多操作(例如yq + 1/4是下一個季度),但如果您希望將其作為純字符串使用format(yq)as.character(yq) .

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM