我有以下格式的面板数据集
Individual Date
A 05/10/2010
A 06/11/2011
A 21/07/2012
B 22/02/2010
B 15/03/2011
B 28/09/2012
我想将日期转换为季度,以便2010年的季度应该是1,2,3,4 .... 2011年的季度应该从5开始到8 ...... 2012年的季度应该从9开始直到12日。
任何人都可以建议在R中执行此操作的代码吗?
答案 0 :(得分:3)
library(zoo)
df$Date <- strptime(df$Date, "%d/%m/%Y")
x <- as.numeric(as.yearqtr(df$Date))
firstyr <- as.numeric(as.character(strftime(min(df$Date), "%Y")))
df$quarter <- (x-(firstyr-1))/.25-3
# Individual Date quarter
# 1 A 05/10/2010 4
# 2 A 06/11/2011 8
# 3 A 21/07/2012 11
# 4 B 22/02/2010 1
# 5 B 15/03/2011 5
# 6 B 28/09/2012 11
数据强>
df <- read.table(text=" Individual Date
A 05/10/2010
A 06/11/2011
A 21/07/2012
B 22/02/2010
B 15/03/2011
B 28/09/2012", header=T)