[R] barchart producing incorrect number of barcharts when columns renamed
Colm G. Connolly
Colm.Connolly at tcd.ie
Thu Apr 26 13:49:46 CEST 2007
On 25 Apr 2007, at 19:50, Deepayan Sarkar wrote:
> You seem to have missed this footer that appears in every r-help
> message. Your code is not reproducible, and not minimal by a long,
> long, shot.
>
Indeed you are correct. My apologies.
This more minimal code should demonstrate the problem. I've removed
all references to external files and verified that I have the same
problem without them.
When I change the column names I get a 4x4 array of barcharts,
whereas when I do not change the column names I correctly get the 5x5
array.
The question is what causes this discrepancy?
library('lattice')
rm(list=ls())
textFontSize=6;
clipping="(NOT Clipped)";
roi.errs=data.frame(
cbind(
##Group
c("ctrl", "ctrl", "short", "short", "long", "long"),
##Subject
c("66101_2", "66112_2", "66119", "66121", "66026_3",
"66030_2")),
cbind(
##Sub-brick
c(0, 0, 0, 0, 0, 0),
##Mean_1
c(0.546532, 6.057756, 0.241484, 8.861095, 6.712401, 6.714763),
##Mean_2
c(0.541001, 1.821168, -0.071227, 7.387406, 4.164371, 6.196456),
##Mean_3
c(-0.211658, 1.053770, 4.772759, 9.780944, 7.530651, 3.357583),
##Mean_4
c(0.592144, -2.386457, 4.998830, 12.428849, 14.037164,
4.049794),
##Mean_5
c(1.449212, 2.445002, -2.718933, 8.900946, 7.919560, 8.350304),
##Mean_6
c(1.919896, 2.466083, -3.906275, 0.822132, 5.910088, 4.678836),
##Mean_7
c(0.665386, -3.790489, 1.191782, 3.613919, 3.808240, 5.036492),
##Mean_8
c(0.865090, 1.741351, 2.012702, 10.093662, 0.829254, 3.880265),
##Mean_9
c(0.342638, -1.200232, 9.458908, 7.756559, 6.308535, 1.497788),
##Mean_10
c(1.522509, 1.780352, 4.471669, -1.122842, 4.923762, 4.025056),
##Mean_11
c(0.615833, 1.363775, 0.215138, 5.988049, 7.545206, 2.117970),
##Mean_12
c(-0.932574, -1.140839, -5.778118, 5.749871, 8.312596,
4.937120),
##Mean_13
c(-1.403353, 9.795787, 1.129139, 2.383282, 4.998841, 3.721432),
##Mean_14
c(0.534640, 4.651436, -0.163107, 3.714310, 6.594728, 3.636995),
##Mean_15
c(0.951416, 2.384751, -2.804867, 4.662075, 4.375787, 5.767994),
##Mean_16
c(0.333624, -4.837685, -2.951958, -3.335181, 2.915522,
2.617556),
##Mean_17
c(2.184298, 7.578843, -2.862990, 6.923186, -2.569342,
0.913788),
##Mean_18
c(0.382605, 6.441820, 0.579722, -2.424237, 6.884646, 3.127198),
##Mean_19
c(-0.737142, 3.306980, 2.417347, -7.521070, 6.570706,
1.556814),
##Mean_20
c(0.545103, 8.721134, -1.766060, 21.433794, 5.829050,
4.031095)));
colnames(roi.errs)=c("Group","Subject","Sub-
brick","Mean_1","Mean_2","Mean_3","Mean_4","Mean_5","Mean_6","Mean_7",
"Mean_8","Mean_9","Mean_10","Mean_11","Mean_12","Mean_13","Mean_14","Mea
n_15","Mean_16","Mean_17","Mean_18",
"Mean_19","Mean_20");
roi.errs.names=names(roi.errs);
## ctrl
roi.errs.ctrl<-roi.errs[roi.errs[,"Group"]=="ctrl", 4:length(roi.errs)]
roi.errs.ctrl.subjects=roi.errs[roi.errs[,"Group"]=="ctrl", 2]
## short
roi.errs.short<-roi.errs[roi.errs[,"Group"]=="short", 4:length
(roi.errs)]
roi.errs.short.subjects=roi.errs[roi.errs[,"Group"]=="short", 2]
## long
roi.errs.long<-roi.errs[roi.errs[,"Group"]=="long", 4:length(roi.errs)]
roi.errs.long.subjects=roi.errs[roi.errs[,"Group"]=="long", 2]
roi.errs.ctrl.matrix=as.matrix(roi.errs.ctrl)
roi.errs.short.matrix=as.matrix(roi.errs.short)
roi.errs.long.matrix=as.matrix(roi.errs.long)
#####################################
### WITH column name change
#####################################
roi.errs.ctrl.means=colMeans(roi.errs.ctrl.matrix)
roi.errs.short.means=colMeans(roi.errs.short.matrix)
roi.errs.long.means=colMeans(roi.errs.long.matrix)
yylim=c(floor(min(roi.errs[, 4:length(roi.errs)])), ceiling(max
(roi.errs[, 4:length(roi.errs)])))
errs.Means=rbind(roi.errs.ctrl.means, roi.errs.short.means,
roi.errs.long.means)
rownames(errs.Means)=c('control', 'short', 'long')
cat("errs.Means dimensions before col name change ", dim(errs.Means),
"\n");
colnames(errs.Means) = list("R Cing Gy", "R Smar Gy", "L Inf Fron Gy",
"R Thalamus", "R Mid Fron Gy", "L Mid Temp Gy", "L Inf Par
Lbl",
"R Mid Fron Gy", "L Cing Gy", "R Thalamus", "R Mid Fron
Gy", "R Lent Nuc",
"R Inf Fron Gy", "R Mid Temp Gy", "R Sup Par Lbl", "R Cere
Ton",
"L Prec", "R Cere Ton", "L Pyramis", "R Prec Gy");
cat("errs.Means dimensions after col name change ", dim(errs.Means),
"\n");
get(getOption("device"))()
fontsize=trellis.par.get("fontsize");
fontsize$text=textFontSize;
trellis.par.set("fontsize", fontsize);
print(barchart(errs.Means, groups=rownames(errs.Means), xlab='Mean
Intensity',
main=paste("Mean Cluster Intensity for Errors",
clipping),
ylab='Group', col=rainbow(length(rownames
(errs.Means))), border=rainbow(length(rownames(errs.Means)))))
#####################################
### WITHOUT column name change
#####################################
errs.Means=rbind(roi.errs.ctrl.means, roi.errs.short.means,
roi.errs.long.means)
rownames(errs.Means)=c('control', 'short', 'long')
get(getOption("device"))()
fontsize=trellis.par.get("fontsize");
fontsize$text=textFontSize;
trellis.par.set("fontsize", fontsize);
print(barchart(errs.Means, groups=rownames(errs.Means), xlab='Mean
Intensity',
main=paste("Mean Cluster Intensity for Errors",
clipping),
ylab='Group', col=rainbow(length(rownames
(errs.Means))), border=rainbow(length(rownames(errs.Means)))))
Thanks,
Regards,
--
Dr Colm G. Connolly
School of Psychology and Institute of Neuroscience
The Lloyd Building
University of Dublin
Trinity College, Dublin 2, Éire
Tel: +353-1-896-8475
Fax: +353-1-671-3183
More information about the R-help
mailing list