[R] splitting data

John McKown john.archie.mckown at gmail.com
Mon Sep 8 22:44:07 CEST 2014


On Mon, Sep 8, 2014 at 2:08 PM, eliza botto <eliza_botto at hotmail.com> wrote:
> Dear R members,
>
> I have this data frame of 100 years in the following format
>
> year            month       day         A           B           C         D
>
> where  A,B,C and D are item number sold each day. I am trying
>
> 1-split the data w.r.t the monthly values for each year
>
> 2-then, sum them up
>
> I am pasting here just a part of data to make it more clearer
>
> structure(list(year = c(1961, 1961, 1961, 1961, 1961, 1961, 1961,
> 1961, 1961, 1961, 1961, 1961), month = c(1, 1, 1, 1, 1, 1, 1,
> 1, 1, 1, 1, 1), day = 1:12, A = 1:12, B = 3:14, C = 6:17, D = 16:27), .Names = c("year",
> "month", "day", "A", "B", "C", "D"), row.names = c(NA, 12L), class = "data.frame")
>
> I initially tried to use "dcast" command but for no use.
>
> Your kind help is needed.
>
> Thanks in advance
>
> Eliza

I'm not sure if I really understand what you want, but perhaps this?

library(dplyr);
summarize(group_by(data,year,month),sum(A),sum(B),sum(C),sum(D));

If you are SQL oriented this is equivalent to the SQL query:

select year, month, sum(A), sum(B), sum(C), sum(D)
from data
group by year, month
;

-- 
There is nothing more pleasant than traveling and meeting new people!
Genghis Khan

Maranatha! <><
John McKown



More information about the R-help mailing list