[R] Feed list of vectors to vioplot()?

Johannes Graumann johannes_graumann at web.de
Wed Apr 23 20:48:45 CEST 2008


<posted & mailed>

Thanks for the very appropriate scolding.

Here's my example (based on "?vioplot"):
mu<-2
si<-0.6
bimodal<-c(rnorm(1000,-mu,si),rnorm(1000,mu,si))
uniform<-runif(2000,-4,4)
normal<-rnorm(2000,0,3)
# Working just fine
myfunction1 <- function(x, ...){vioplot(x,...)}
myfunction1(bimodal,uniform,normal)
# What I (believe to) need
myfunction2 <- function(x, ...){
  mylist <- list(x, ...)
  # plenty of "lapply" stuff
  vioplot(mylist)
}
myfunction2(bimodal,uniform,normal)
        --> Error in min(data) : invalid 'type' (list) of argument

I'm at a loss on how to disentangle "mylist" - unlist just gives me one big
vector back rather than the 3 I want to have back ...

Thanks for your patience, Joh

jim holtman wrote:

> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html and provide commented,
> minimal, self-contained, reproducible code.
> 
> It is hard to provide a solution if we do not understand the problem
> to be solved.  Sample data would be helpful along with an
> understanding of what you would expect for output.
> 
> On Wed, Apr 23, 2008 at 10:11 AM, Johannes Graumann
> <johannes_graumann at web.de> wrote:
>>
>> Johannes Graumann wrote:
>>
>> > Hi,
>> >
>> > I have a list of vectors and am trying to coerce them into something
>> > that vioplot will take as groups of data to be plotted independently.
>> > Can someone nudge me into the right direction?
>> >
>> > Thanks, Joh
>> >
>> > ______________________________________________
>> > 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.
>>
>> I'll try less impolite and with more info ...
>>
>> I'm writing a function that contains this:
>>
>> # function(x, ... , morestuff){}
>>
>> which is gathered into a list like so:
>>
>> # mylist <- list(x, ...)
>>
>> down the line I'd like to output all elements from "mylist" in seperate
>> vioplots in a single coordiante system. Now I have a hell of a time with
>> that because vioplot does not accept a list as input but only a
>> succession of vectors ... how can I now force my list into that form so a
>> can say
>>
>> # vioplot(magicfunction(mylist))
>>
>> and get a violin plot for each list-member?
>>
>> Thanks for any hint,
>>
>>
>> Joh
>>
>> ______________________________________________
>> 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