[R] pairewise plots

Deepayan Sarkar deepayan at stat.wisc.edu
Tue Mar 29 17:46:09 CEST 2005


On Tuesday 29 March 2005 08:58, Hai Lin wrote:
> Dear R users,
>
> I have a data generated as the following,
>
> dat <- data.frame(matrix(sample(24), nrow=4))
> dimnames(dat) <-list(rownames=c('g1','g2','g3','g4'),
> colnames=c("A_CH1","A_CH2","B_CH1","B_CH2","C_CH3","C_CH3"))
>
> » dat
>    A_CH1 A_CH2 B_CH1 B_CH2 C_CH3 C_CH3
> g1    16    24     7     9    14    20
> g2     4    10    19    22     5    17
> g3    11    18    21    12    13     1
> g4     2     3    15     6    23     8

Why would you want two columns with the same name?

> I am trying to plot them pairwise by column(might extend to more than
> 3 pairs) Instead manually plotting as below, could you please point
> me out with easier ways?

If your data frame can be easily restructured (using reshape perhaps), 
one possible solution would be to use the lattice package:

require(lattice)
tmd(xyplot(c(A_CH1, B_CH1, C_CH1) ~ c(A_CH2, B_CH2, C_CH2) | gl(3, 4),
           dat, layout = c(3, 1)))

Note that 
1. This is with the data frame as it is, except that I assume the 
   last 2 columns are named C_CH1 and C_CH2
2. This plots the mean instead of the sum (but on the other hand, 
   it's a standard plot that way)

Deepayan

> par(mfrow=c(3,1))
> plot(dat$A_CH1+dat$A_CH2, dat$A_CH1-dat$A_CH2)
> plot(dat$B_CH1+dat$B_CH2, dat$B_CH1-dat$B_CH2)
> plot(dat[,5]+dat[,6], dat[,5]-dat[,6])
>
> Thanks a lot for your help




More information about the R-help mailing list