[R] lapply and boxplots with variable names

Shawn Morrison shawn.morrison at dryasresearch.com
Tue Jun 22 21:16:38 CEST 2010


Thanks Josh,

I do want to see each plot. I took your code and modified it (below) and 
it appears to do what I wanted:

my.data <- data.frame(var1=rnorm(1000), var2=rnorm(1000),
TimePeriod=factor(rep((LETTERS[1:4]), 250)))
str(my.data)

lapply(names(my.data[ , 1:2]), function(y) {
  quartz()
   boxplot(my.data[, y] ~ my.data[, "TimePeriod"],
           main = y)
})



On 22/06/10 11:25 AM, Joshua Wiley wrote:
> Hello Shawn,
>
> Does this do what you want?  I'm assuming you want to look at each
> plot, so I added a call to par().
>
> #######
> my.data<- data.frame(var1=rnorm(1000), var2=rnorm(1000),
> TimePeriod=factor(rep((LETTERS[1:4]), 250)))
> str(my.data)
>
> lapply(names(my.data[ , 1:2]), function(y) {
>    old.par<- par(no.readonly = TRUE)
>    on.exit(par(old.par))
>    par("ask"=TRUE)
>    boxplot(my.data[, y] ~ my.data[, "TimePeriod"],
>            main = y)
> })
> ######
>
> HTH,
>
> Josh
>
>
> On Tue, Jun 22, 2010 at 9:45 AM, Shawn Morrison
> <shawn.morrison at dryasresearch.com>  wrote:
>    
>> Hi all,
>>
>> I have a dataset with several variables, each of which is a separate column.
>> For each variable, I want to produce a boxplot and include the name of the
>> variable (ie, column name) on each plot.
>>
>> I have included a sample dataset below. Can someone tell me where I am going
>> wrong?
>>
>> Thank you for your help,
>> Shawn Morrison
>>
>> # Generate a sample dataset
>> var1 = rnorm(1000)
>> var2 = rnorm(1000)
>> TimePeriod = rep((LETTERS[1:4]), 250)
>>
>> my.data = as.data.frame(cbind(var1, var2, TimePeriod)); summary(my.data)
>> attach(my.data)
>>
>> # Create box plots for var1 and var2 using TimePeriod on the x-axis
>> lapply(my.data[,1:2], function(y) {
>>     boxplot(y~TimePeriod,
>>                 main = y
>>                 data = my.data)
>>     })
>>
>> ______________________________________________
>> 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.
>>
>>      
>
>
>



More information about the R-help mailing list