[R] Tidyverse data frame conversion from monthly to annual

phii m@iii@g oii phiiipsmith@c@ phii m@iii@g oii phiiipsmith@c@
Mon Mar 4 04:38:19 CET 2019


summarise_all() does the trick. Thanks very much for the help.

Philip

On 2019-03-03 22:14, phil using philipsmith.ca wrote:
> I have a data frame in which the first column is a sequence of monthly
> dates and the other columns are variables. There are a great many
> variables. I want to create another data frame similar to the first
> one, but with annual values instead of monthly, created by summing the
> months within each year.
> 
> I am able to do this as shown in this reprex:
> 
> library(tidyverse)
> REF_DATE <- seq(as.Date("2000/1/1"),by="month",length.out=36)
> set.seed(57)
> df <- data.frame(REF_DATE,
>                  x=sample(1:100,size=36),
>                  y=sample(1:100,size=36),
>                  z=sample(1:100,size=36),
>                  Year=year(REF_DATE))
> df1 <- df %>%
>   group_by(Year) %>%
>   summarise(x_a=sum(x),y_a=sum(y),z_a=sum(z)) %>%
>   ungroup()
> 
> However, while this works for the simple case with only three
> variables, I actually have many more than three, so I am looking for a
> more general approach. I have no clue as to how to proceed. Any advice
> will be much appreciated.
> 
> Philip



More information about the R-help mailing list