将每日数据转换为季度数据,从而得出该季度最后日期的数据点

时间:2018-10-22 18:52:28

标签: r excel

以下是数据格式

01-Jan-1996 2.921090269

02-Jan-1996 2.950562989

03-Jan-1996 2.943103392

04-Jan-1996 2.935351262

05-Jan-1996 2.944054125

08-Jan-1996 2.973526845

09-Jan-1996 3.017918758

10-Jan-1996 3.010166628

我想将以上内容转换为r / excel中的每季度,输入的内容仅是该季度的最后日期,而不是总和/平均值等。

1 个答案:

答案 0 :(得分:0)

设置:

library(dplyr)
dd<-read.table(text="Date        Number
01-Jan-1996 2.921090269
02-Jan-1996 2.950562989
03-Jan-1996 2.943103392
04-Jan-1996 2.935351262
05-Jan-1996 2.944054125
08-Jan-1996 2.973526845
09-Jan-1996 3.017918758
10-Jan-1996 3.010166628", header=T)

将日期列设置为实际的Date

dd$Date<-as.Date(dd$Date,format="%d-%b-%Y")

每个季度仅保留最后一个日期:

dd<- dd %>% mutate(Q=cut.Date(Date, "quarter", labels=F)) %>% 
     group_by(Q) %>% filter(Date==max(Date))