aggregation question

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

aggregation question

Dr Eberhard W Lisse
Hi,

I am reading payment data like so

2010-01-01,100.00
2010-01-04,100.00
...
2011-01-01,200.00
2011-01-07,100.00

and plot it aggregated per month like so

library(zoo)
df <- read.csv("daily.csv", colClasses=c(d="Date",s="numeric"))
z <- zoo(df$s, df$d)
z.mo <- aggregate(z, as.yearmon, sum)
barplot(z.mo, col="darkblue")

How do I get the monthly aggregated payments in different colors
next to each other (ie for each year in a different color with the x
axis showing the months)?

Solution preferred, but pointers to documentation welcome :-)-O

greetings, el
--
Dr. Eberhard W. Lisse  \        / Obstetrician & Gynaecologist (Saar)
[hidden email] el108-ARIN / *     |   Telephone: +264 81 124 6733 (cell)
PO Box 8421             \     /   Please do NOT email to this address
Bachbrecht, Namibia     ;____/        if it is DNS related in ANY way

______________________________________________
[hidden email] mailing list
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.
Reply | Threaded
Open this post in threaded view
|

Odp: aggregation question

PIKAL Petr
Hi

>
> Hi,
>
> I am reading payment data like so
>
> 2010-01-01,100.00
> 2010-01-04,100.00
> ...
> 2011-01-01,200.00
> 2011-01-07,100.00
>
> and plot it aggregated per month like so
>
> library(zoo)
> df <- read.csv("daily.csv", colClasses=c(d="Date",s="numeric"))
> z <- zoo(df$s, df$d)
> z.mo <- aggregate(z, as.yearmon, sum)
> barplot(z.mo, col="darkblue")
>
> How do I get the monthly aggregated payments in different colors
> next to each other (ie for each year in a different color with the x
> axis showing the months)?

What about putting suitable set of colours to col argument?

Regards
Petr


>
> Solution preferred, but pointers to documentation welcome :-)-O
>
> greetings, el
> --
> Dr. Eberhard W. Lisse  \        / Obstetrician & Gynaecologist (Saar)
> [hidden email] el108-ARIN / *     |   Telephone: +264 81 124 6733 (cell)
> PO Box 8421             \     /   Please do NOT email to this address
> Bachbrecht, Namibia     ;____/        if it is DNS related in ANY way
>
> ______________________________________________
> [hidden email] mailing list
> 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.

______________________________________________
[hidden email] mailing list
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.
Reply | Threaded
Open this post in threaded view
|

Re: Odp: aggregation question

Dr Eberhard W Lisse
Petr,

Maybe I did not make it clear, I apologize for that:

I want January to December on the X Axis (as 12 discrete (months))
and then for each month the values for each year as bars in
different colors next to each other, ie Jan-2009, Jan-2011,
Jan-2011...Dec-2009, Dec-2011, Dec-2011 whereas at the moment I get
Jan-2009, Feb-2009, Mar-2009...Oct-2011, Nov-2011, Dec-2011

In SQL something like GROUP BY MONTH, YEAR as opposed to GROUP BY
YEAR, MONTH.

greetings, el

on 2011-07-07 11:08 Petr PIKAL said the following:
[...]
>> How do I get the monthly aggregated payments in different colors
>> next to each other (ie for each year in a different color with the x
>> axis showing the months)?
>
> What about putting suitable set of colours to col argument?
>
> Regards
> Petr
[...]

--
Dr. Eberhard W. Lisse  \        / Obstetrician & Gynaecologist (Saar)
[hidden email] el108-ARIN / *     |   Telephone: +264 81 124 6733 (cell)
PO Box 8421             \     /   Please do NOT email to this address
Bachbrecht, Namibia     ;____/        if it is DNS related in ANY way

______________________________________________
[hidden email] mailing list
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.
Reply | Threaded
Open this post in threaded view
|

Re: Odp: aggregation question

PIKAL Petr
OK

> Petr,
>
> Maybe I did not make it clear, I apologize for that:
>
> I want January to December on the X Axis (as 12 discrete (months))
> and then for each month the values for each year as bars in
> different colors next to each other, ie Jan-2009, Jan-2011,
> Jan-2011...Dec-2009, Dec-2011, Dec-2011 whereas at the moment I get
> Jan-2009, Feb-2009, Mar-2009...Oct-2011, Nov-2011, Dec-2011

Well you can look at examples of barplot, especially this one

barplot(VADeaths, beside = TRUE,
        col = c("lightblue", "mistyrose", "lightcyan",
                "lavender", "cornsilk"),
        legend = rownames(VADeaths), ylim = c(0, 100))
title(main = "Death Rates in Virginia", font.main = 4)


If you look at VADeaths structure you see you need some structured data

x<-seq(as.Date("2000/1/1"), by="month", length.out=24)
x.m<-aggregate(1:24, list(format(x, "%m"), format(x, "%Y")), sum)
x.m
   Group.1 Group.2  x
1       01    2000  1
2       02    2000  2
3       03    2000  3
4       04    2000  4
5       05    2000  5
<snip>

and you can use e.g. xtabs or maybe cast from reshape package

x.xt<-xtabs(x~Group.1+Group.2,x.m)
barplot(x.xt, beside=TRUE, col=rainbow(12))
x.xt<-xtabs(x~Group.2+Group.1,x.m)
barplot(x.xt, beside=T, col=1:2)

Or you could look at ggplot2 package.

Regards
Petr




>
> In SQL something like GROUP BY MONTH, YEAR as opposed to GROUP BY
> YEAR, MONTH.
>
> greetings, el
>
> on 2011-07-07 11:08 Petr PIKAL said the following:
> [...]
> >> How do I get the monthly aggregated payments in different colors
> >> next to each other (ie for each year in a different color with the x
> >> axis showing the months)?
> >
> > What about putting suitable set of colours to col argument?
> >
> > Regards
> > Petr
> [...]
>
> --
> Dr. Eberhard W. Lisse  \        / Obstetrician & Gynaecologist (Saar)
> [hidden email] el108-ARIN / *     |   Telephone: +264 81 124 6733 (cell)
> PO Box 8421             \     /   Please do NOT email to this address
> Bachbrecht, Namibia     ;____/        if it is DNS related in ANY way

______________________________________________
[hidden email] mailing list
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.
Reply | Threaded
Open this post in threaded view
|

sparse kernel regression

Czerminski, Ryszard
In reply to this post by Dr Eberhard W Lisse
I am looking for the implementation of sparse kernel regression
approach e.g. as in this paper:

The Generalized LASSO. Volker Roth
IEEE Transactions on Neural Networks, Vol. 15, NO. 1, January 2004.

I would appreciate any pointers.

Best regards,
Ryszard



--------------------------------------------------------------------------
Confidentiality Notice: This message is private and may ...{{dropped:8}}

______________________________________________
[hidden email] mailing list
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.
Reply | Threaded
Open this post in threaded view
|

Re: aggregation question

Gabor Grothendieck
In reply to this post by Dr Eberhard W Lisse
On Thu, Jul 7, 2011 at 5:41 AM, Dr Eberhard Lisse <[hidden email]> wrote:

> Hi,
>
> I am reading payment data like so
>
> 2010-01-01,100.00
> 2010-01-04,100.00
> ...
> 2011-01-01,200.00
> 2011-01-07,100.00
>
> and plot it aggregated per month like so
>
> library(zoo)
> df <- read.csv("daily.csv", colClasses=c(d="Date",s="numeric"))
> z <- zoo(df$s, df$d)
> z.mo <- aggregate(z, as.yearmon, sum)
> barplot(z.mo, col="darkblue")
>
> How do I get the monthly aggregated payments in different colors
> next to each other (ie for each year in a different color with the x
> axis showing the months)?
>

Read it in with read.zoo aggregating at the same time to yearmon class
and then issue the appropriate lattice barchart command:

Lines <- "Date,Value
2010-01-01,100.00
2010-01-04,100.00
2010-02-04,100.00
2011-01-01,200.00
2011-01-07,100.00
2011-02-07,100.00"

library(zoo)
z <- read.zoo(textConnection(Lines), header = TRUE, sep = ",",
        FUN = as.yearmon, aggregate = sum)

library(lattice)
year <- factor(as.numeric(floor(time(z))))
value <- coredata(z)
month <- coredata(cycle(z))
barchart(value ~ month | year, horiz = FALSE, col = 1:12, origin = 0)



--
Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at gmail.com

______________________________________________
[hidden email] mailing list
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.
Reply | Threaded
Open this post in threaded view
|

Re: aggregation question

Jim Lemon
In reply to this post by Dr Eberhard W Lisse
Dr Eberhard Lisse <[hidden email]> wrote:
 > Hi,
 >
 > I am reading payment data like so
 >
 > 2010-01-01,100.00
 > 2010-01-04,100.00
 > ...
 > 2011-01-01,200.00
 > 2011-01-07,100.00
 >
 > and plot it aggregated per month like so
 >
 > library(zoo)
 > df <- read.csv("daily.csv", colClasses=c(d="Date",s="numeric"))
 > z <- zoo(df$s, df$d)
 > z.mo <- aggregate(z, as.yearmon, sum)
 > barplot(z.mo, col="darkblue")
 >
 > How do I get the monthly aggregated payments in different colors
 > next to each other (ie for each year in a different color with the x
 > axis showing the months)?

Hi Dr Eberhard Lisse,
You might also be interested in barp:

paybymonth<-matrix(sample(100:200,120,TRUE),nrow=10)
rownames(paybymonth)<-2000:2009
colnames(paybymonth<-month.abb
library(plotrix)
barp(paybymonth,names.arg=colnames(paybymonth),col=rainbow(10),
  ylim=c(0,250),main="Payments by month from 2000-2009")
par(xpd=TRUE)
legend(13,180,2000:2009,fill=rainbow(10))
par(xpd=FALSE)

Jim

______________________________________________
[hidden email] mailing list
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.