Tidyverse data frame conversion from monthly to annual
Hi aggregate is another option. aggregate(df[, 2:4], list(df$Year), sum) Cheers Petr
-----Original Message-----
From: R-help <r-help-bounces at r-project.org> On Behalf Of
phil at philipsmith.ca
Sent: Monday, March 4, 2019 4:15 AM
To: r-help at r-project.org
Subject: [R] Tidyverse data frame conversion from monthly to annual
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
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting- guide.html and provide commented, minimal, self-contained, reproducible code.
Osobn? ?daje: Informace o zpracov?n? a ochran? osobn?ch ?daj? obchodn?ch partner? PRECHEZA a.s. jsou zve?ejn?ny na: https://www.precheza.cz/zasady-ochrany-osobnich-udaju/ | Information about processing and protection of business partner?s personal data are available on website: https://www.precheza.cz/en/personal-data-protection-principles/ D?v?rnost: Tento e-mail a jak?koliv k n?mu p?ipojen? dokumenty jsou d?v?rn? a podl?haj? tomuto pr?vn? z?vazn?mu prohl??en? o vylou?en? odpov?dnosti: https://www.precheza.cz/01-dovetek/ | This email and any documents attached to it may be confidential and are subject to the legally binding disclaimer: https://www.precheza.cz/en/01-disclaimer/