Tiago R Magalhaes wrote:

I am trying to make a graph with 4 scatter matrixes plots and couldn't do it. While trying to find a solution for this I also came across the idea of giving different values to the same argument for each of the lower and upper function but couldn't do it. (Examplified below with the col argument). The first problem of plotting 4 scatter matrixes in a graph is a problem of real interest for me at this point. The second problem is a matter of curiosity.

I am using a Mac PowerBook G4 with OS 10.3.7 and R 2.0.1


Problem 1)
x=data.frame(a=sample(1:100, 50), b=sample(1:100, 50),c=sample(1:100, 50),d=sample(1:100, 50))
x.list=vector('list',4)
for (j in 1:4) x.list[[j]]=x


#produces a graph with four plots:
layout(matrix(c(1,3,2,4),2,2))
for (j in seq(x)){
        plot(x.list[[j]][1:2])
        }

# But unfortunately the following produces a new plot everytime:
layout(matrix(c(1,3,2,4),2,2))
for (j in seq(x)){
        pairs(x.list[[j]])
        }
#Maybe pairs can't be used to produce a graph with multiple plots?

Yes, it uses similar constructs to put multiple plots together.

You might want to use packages grid and gridBase to set something up using viewports.


Problem 2)
I wanted to plot upper and lower panels with different colours. I tried what I thougth was obvious, giving the col argument inside of each function:
pairs (x, lower.panel=points(x, col=2), upper.panel=points(x, col=3))# only the diagonal is plotted
pairs (x, lower.panel=points(x), upper.panel=points(x)) #once again only the diagonal is plotted
pairs (x, lower.panel=points, upper.panel=points) #both panels are plotted, actually, this is simlar to pairs(x)


#Another little observation that I thought was strange:
pairs(x, lower.panel=points(x), col=2)# colours the outside box red
pairs(x, lower.panel=points(x), col=2, xaxt='n', yaxt='n')# does what I want
pairs(x, lower.panel=points(x, col=2))# doesn't change the colour but works otherwise


You have to specify a function, e.g. an unnamed one such as
   function(x, y) points(x, y, col=2)
rather than a function call such as just
   points(x)

Hence we get:

pairs(x, lower.panel = function(x, y) points(x, y, col=2),
         upper.panel = function(x, y) points(x, y, col=3))



Uwe Ligges


Thank you very much for any comments and help
        [[alternative HTML version deleted]]

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to