[R] Automating Plot Commands using a Loop

jim holtman jholtman at gmail.com
Tue Nov 10 21:23:09 CET 2009


Why did you transpose the dataframe (TData <- t(Data))?  Is your data
in the same structure as is expected.  Provide either the data file
you are plotting, or at least an 'str' of the object.

On Tue, Nov 10, 2009 at 3:06 PM, Koraelus <koraelus at yahoo.com> wrote:
>
> 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.
>
> ______________________________________________
> 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?




More information about the R-help mailing list