[R] Boxplot of multiple vectors with different lengths

Sarah Goslee sarah.goslee at gmail.com
Mon Dec 12 22:42:44 CET 2011


Hi,

On Mon, Dec 12, 2011 at 4:24 PM, Ryan Utz <utz.ryan at gmail.com> wrote:
> Hello,
>
> I'm attempting to write a code that automatically imports data from
> different files (with different lengths-just one variable) and makes tidy
> box plots for comparison. I can successfully import the data and create a
> list of the vectors I want to compare. But I cannot, for the life of me,
> figure out how to generate box plots using the "list" option. Suppose these
> are my data:
>
> a<-c(1,1,1,1,2,3,2,1,2,3)
> b<-c(2,2,2,3,4,4,4,3,3)
> c<-c(4,3,3,2,3,4,5,3,3,3,4,4,5,6,3,2)
>
> And this is my list of the vectors I'm interested in:
>
>  z<-list(c("a","b","c"))

Did you look at z? You've made a list with a single element containing
three characters:

> z
[[1]]
[1] "a" "b" "c"

You need instead:
z <- list(a, b, c)

Also, don't call a variable c - that's a built-in function and using
the name elsewhere can cause all kinds of problems (look at your own
code line, where you use c as a function and as a variable. although
that wasn't a problem here).

Sarah

> Well, this successfully generates the kind of boxplot I want:
>
> boxplot(a,b,c)
>
> But this does not:
>
> boxplot(z)
>
> Because I'm trying to write an automatic plot-generator as the amount of
> data I'm working with will typically vary, I need to write this to handle
> any number of data vectors.
>
> I've tried every imaginable means of tweaking the name of "z", with zero
> success. And I've scoured the help pages for about 45 minutes (just to
> preempt any "read the help" responses). Please help!
>
> Thanks,
> Ryan
>


-- 
Sarah Goslee
http://www.functionaldiversity.org



More information about the R-help mailing list