[R] Plot a series of plots without using a loop
Ben Harrison
harb at student.unimelb.edu.au
Tue Jul 30 11:33:15 CEST 2013
I have an xyf object from the kohonen package, and wish to plot a
lattice or grid or multiplot of a set of attributes of this object.
I've included the structure of the object below for reference, and
here is the set of plots I wish to produce, given in long-hand. I
don't know enough R to generalise this set of commands, can you help?
I am looking for a single command if possible.
op <- par(mfrow=c(2, 3)) # 6 plots in this case
plot(somdata.xyf,
type="property",
property=somdata.xyf$codes$X[, 1],
main=colnames(somdata.xyf$codes$X)[1])
plot(somdata.xyf,
type="property",
property=somdata.xyf$codes$X[, 2],
main=colnames(somdata.xyf$codes$X)[2])
... etc...
plot(somdata.xyf,
type="property",
property=somdata.xyf$codes$X[, 6],
main=colnames(somdata.xyf$codes$X)[6])
par(op)
The "codes" list of the somdata.xyf object contains a further list "X"
containing the items I wish to plot. So the properties are
somdata.xyf$codes$X[, 1:6].
Here are some of the details (snipped for clarity):
> str(somdata.xyf)
List of 12
$ data : num [1:68, 1:6] -0.7509 -0.057 -1.5547 -0.4019 -0.0192 ...
... <snip>
$ codes :List of 2
..$ X: num [1:25, 1:6] -2.006 -0.817 -0.249 0.131 0.476 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : NULL
.. .. ..$ : chr [1:6] "MEAS_TC" "SP" "LN" "SN" ...
..$ Y: num [1:25, 1] -2.006 -0.817 -0.249 0.131 0.476 ...
$ changes : num [1:500, 1:2] 0.1058 0.0954 0.1197 0.1085 0.1279 ...
... snip
> head(somdata.xyf$codes$X)
MEAS_TC SP LN SN GR NEUT
[1,] -2.0058516 -0.3207971 -0.2886428 -0.2645986 -0.3874740 -0.41095949
[2,] -0.8167927 0.1898585 -0.4094999 -0.3778524 0.3163603 0.05596098
[3,] -0.2492923 -0.8087226 0.4889264 0.2041352 -0.2634253 -0.27536594
[4,] 0.1309919 0.1330020 2.0283477 2.4009782 -0.5614304 0.82821634
[5,] 0.4764463 -0.1288688 -0.3767898 -0.3946008 -0.8674591 -0.19527494
[6,] -1.5912249 0.5690732 -0.2411219 -0.1630187 -0.4678983 -0.80916499
Ben
University of Melbourne
More information about the R-help
mailing list