[R] Feed list of vectors to vioplot()?
Johannes Graumann
johannes_graumann at web.de
Thu Apr 24 15:26:46 CEST 2008
Dirty solution: switched off x-axis plotting via 'par' and added it the
personalized way with 'axis'.
Joh
Johannes Graumann wrote:
> Hm, now I have trouble using additional "vioplot" parameters.
>
> 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)
> mylist <- list(bimodal,uniform,normal)
> # Easy
> do.call(vioplot,mylist)
> # Works
> do.call(vioplot,c(mylist,col="white"))
> # Does not
> # vioplot expects "names" as a "plain" vector, not in the
> # form "names=c("One","Two","Three")" ...
> names <- c("One","Two","Three")
> do.call(vioplot,c(mylist,col="white",names))
>
> Any help on how to do this?
>
> Thanks, Joh
>
>
> Johannes Graumann wrote:
>
>> Off-list it was pointed out to me that the trivial solution to this would
>> look like this:
>> myfunction2 <- function(x, ...){
>> mylist <- list(x, ...)
>> # plenty of "lapply" stuff
>> do.call(vioplot,mylist)
>> }
>>
>> Thanks for everybodies patience,
>>
>> Joh
>>
>> Johannes Graumann wrote:
>>
>>> <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.
>>>>>
>>>>
>>>>
>>>>
>>>
>>> ______________________________________________
>>> 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.
>>
>> ______________________________________________
>> 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.
>
> ______________________________________________
> 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