Automating Plot Commands using a Loop
Hello,
Thank you very much. Your string makes perfect sense to me, but I get an
error when I try this:
Data<-read.csv("Datacull.txt",header=T,row.names=1)
TData<-t(Data)
PlotFunction<-function (x) {
par(mfrow=c(3,6))
for (i in colnames(x)) {
plot(x[[i]],type="o",axes=F,xlab='',ylab='',ylim=c(0,2),main=i)
axis(1,at=1:6,lab=c("A","B","C","D","E","F"))
axis(2,at=seq(0,2,.25))
}}
PlotFunction(TData)
I get an error:
Error in x[[i]] : subscript out of bounds
If I try to hard code it without using a function
for (i in colnames(TData)) {
plot(TData[[i]],type="o",axes=F,xlab='',ylab='',ylim=c(0,2),main=i)
axis(1,at=1:6,lab=c("A","B","C","D","E","F"))
axis(2,at=seq(0,2,.25))
}}
I get the similar error:
Error in TData[[i]] : subscript out of bounds
What does this mean?
jholtman wrote:
try this:
Data <- read.table(textConnection(" Alpha Beta Gamma Delta
A .1 .2 .3 .4
B .2 .3 .4 .5
C .8 .9 .43 .13
D .13 .34 .34 .3"), header=TRUE)
closeAllConnections()
par(mfrow=c(2,2))
for (i in colnames(Data)){
plot(Data[[i]],type="o",axes=F,xlab='', ylab='', ylim=c(0,1), main=i)
axis(1,at=1:4,lab=c("A","B","C","D"))
axis(2,at=seq(0, 1, .25)) # changed your axis to work
}
On Mon, Nov 9, 2009 at 3:38 PM, Koraelus <koraelus at yahoo.com> wrote:
I have three matrices with the same row and column names, but different
data.
e.g.
Data
?Alpha Beta Gamma Delta
A ?.1 ? ? .2 ? ? ? .3 ? ? ? ?.4
B ? .2 ? ?.3 ? ? ? .4 ? ? ? ?.5
C ? .8 ? .9 ? ? ? .43 ? ? ? .13
D ?.13 ? .34 ? ? ?.34 ? ? ?.3
For each column, I would like to create a separate plot on a single
window.
I currently am using the cmd-line:
windows()
par(mfrow=c(2,2))
plot(Data$Alpha,type="o",axes=F,ann=F,ylim=c(0,1))
axis(1,at=1:4,lab=c("A","B","C","D")
axis(2,at=.25*0:1)
plot(Data$Beta,type="o",axes=F,ann=F,ylim=c(0,1))
axis(1,at=1:4,lab=c("A","B","C","D")
axis(2,at=.25*0:1)
etc.
I would like to automate this as much as possible. I tried to write a
function, but clearly it would involve some sort of loop... I don't know
how
to do anything like that.
Thanks,
koraelus
--
View this message in context:
http://old.nabble.com/Automating-Plot-Commands-using-a-Loop-tp26273268p26273268.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________ 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.
-- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve?
______________________________________________ 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.
View this message in context: http://old.nabble.com/Automating-Plot-Commands-using-a-Loop-tp26273268p26289078.html Sent from the R help mailing list archive at Nabble.com.