Re: [R] Multiline and grouping in R

From: Dennis Murphy <djmuser_at_gmail.com>
Date: Tue, 29 Jun 2010 18:54:45 -0700

Hi:

This is to add a couple of bells and whistles to the excellent replies of David and Bill. You may not want the 0.5 increments in the x-axis ticks, and if you want all groups in a single plot, then you may want a legend. Below are some basic ways to specify these (to head off the obvious follow-up questions :)

# (1) Individual panels per AREA:
xyplot(CASES ~ YEAR|AREA, data=df, type="b",

      scales = list(x = list(at = c(1988, 1989, 1990))))

The scales = argument provides control over various aspects of the axes, such as labels and tick marks. In this case, we want to limit the x-axis ticks to occur at 1988, 1989 and 1990 only.

# (2) Single graph with multiple AREA profiles over time: xyplot(CASES ~ YEAR, data = df, type = "b", groups = AREA,

      scales = list(x = list(at = c(1988, 1989, 1990))),
      auto.key = list(points = FALSE, lines = TRUE))

The auto.key = argument is used to produce a simple legend. By default, it is listed on top of the plot; if, for example, you wanted it on the right instead, you could add space = 'right' to the auto.key list.

There are **many** options in xyplot() and other Lattice graphics functions, so you have the capability of fine tuning a graph to meet your specifications.

HTH,
Dennis

On Tue, Jun 29, 2010 at 5:42 PM, Pablo Cerdeira <pablo.cerdeira_at_gmail.com>wrote:

> Hi All,
>
> this is my first mail here.
>
> I'm trying to plot a multiline chart grouping values with no success. I
> have
> read a lot in the official Wiki and also searched via Google, but I did not
> find anything.
>
> I'm importing some data from a cvs file. Here is a sample:
>
> YEAR,AREA,CASES
> 1988,CONTRACTS,286
> 1988,INTERNATIONAL,189
> 1988,FAMILY,385
> 1988,TAXATION,177
> 1989,CONTRACTS,233
> 1989,INTERNATIONAL,431
> 1989,FAMILY,425
> 1989,TAXATION,201
> 1990,CONTRACTS,190
> 1990,INTERNATIONAL,302
> 1990,FAMILY,303
> 1990,TAXATION,209
> ...
>
> "t <- read.csv("file.csv", header=TRUE)"
>
> So far so good...
>
> But the problem is: I'd like to create a multiline plot, one line per AREA,
> showing the evolution of the number of CASES per YEAR.
>
> I know how to do it in Excel, using a Pivot Table. But I'm trying hard to
> do
> the same with R but I have no idea on how to do it.
>
> Can someone help me?
>
> Thanks in advanced
>
> --
> Pablo de Camargo Cerdeira
> pablo.cerdeira_at_gmail.com
> +55 (21) 3799-6065
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help_at_r-project.org 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.
>

        [[alternative HTML version deleted]]



R-help_at_r-project.org 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. Received on Wed 30 Jun 2010 - 02:30:13 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 30 Jun 2010 - 03:00:43 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive