[R] list of complex objects?

Peter Langfelder peter.langfelder at gmail.com
Thu May 27 02:35:24 CEST 2010


c concatenates all arguments. For example, c(c(0,1,2), c(3,4,5)) gives
a vector 0,1,2,3,4,5.
Another example:

> c(list(a=c(0,1), b = c(2,3)), list(c = c(4,5), d = c(5,6)))
$a
[1] 0 1

$b
[1] 2 3

$c
[1] 4 5

$d
[1] 5 6

So instead of a list of two lists, you get a single list with 4 components.

If you want to make a list of objects, use

list_of_fits = list(fitJC1, fitJC2, fitJC3)

HTH,

Peter


On Wed, May 26, 2010 at 5:23 PM, Nick Matzke <matzke at berkeley.edu> wrote:
>
>
> Erik Iverson wrote:
>>
>> Nick Matzke wrote:
>>>
>>> Hi all,
>>>
>>> If I would like to make a list of complex objects -- in my case,
>>> phylogenetic trees, but it could be e.g. statistical results from something
>>> like lm, or whatever -- how can I put them into a list?
>>>
>>> When I try the obvious methods, e.g. cat, append, list, etc., I seem to
>>> get weird behaviors where R is trying to merge the subfields within the
>>> objects or something.
>>>
>>> Any help much appreciated.  Cheers!!
>>> Nick
>>>
>>>
>> Perhaps you can give us a reproducible example that shows
>>
>> a) what you tried
>> b) what happened
>> c) what you expected to happen
>>
>
>
> Hi!  Sorry, I should have done that initially.  Here's my problem:
>
> #====================
> # example of the issue with lists of objects:
>
> library(ape)
> library(phangorn)
> example(NJ)
>
> # Jukes-Cantor (starting tree from NJ)
> fitJC1 <- pml(tree, Laurasiatherian)
>
> # optimize edge length parameter
> fitJC2 <- optim.pml(fitJC1)
> fitJC2
>
> # search for a better tree using NNI rearrangements
> fitJC3 <- optim.pml(fitJC2, optNni=TRUE)
> fitJC3
>
> # Now, the function SH.test can allegedly take "objects of
> # class 'pml' separated by commas, [or] a list containing
> # such objects".  Since I'm going to have hundreds of these
> # fits, I'd like to make submit a list of them to SH.test,
> # something like this:
>
> list_of_fits = c(fitJC1, fitJC2, fitJC3)
> SH.test(list_of_fits, B=100)
>
> # ...but "list of fits" is something weird, e.g.
> (list_of_fits[1])
>
> #...does not return the same thing as:
> (fitJC1)
> #====================
>
>
>
>
>
>
> --
> ====================================================
> Nicholas J. Matzke
> Ph.D. Candidate, Graduate Student Researcher
> Huelsenbeck Lab
> Center for Theoretical Evolutionary Genomics
> 4151 VLSB (Valley Life Sciences Building)
> Department of Integrative Biology
> University of California, Berkeley
>
> Graduate Student Instructor, IB200A
> Principles of Phylogenetics: Systematics
> http://ib.berkeley.edu/courses/ib200a/index.shtml
>
> Lab websites:
> http://ib.berkeley.edu/people/lab_detail.php?lab=54
> http://fisher.berkeley.edu/cteg/hlab.html
> Dept. personal page:
> http://ib.berkeley.edu/people/students/person_detail.php?person=370
> Lab personal page: http://fisher.berkeley.edu/cteg/members/matzke.html
> Lab phone: 510-643-6299
> Dept. fax: 510-643-6264
> Cell phone: 510-301-0179
> Email: matzke at berkeley.edu
>
> Mailing address:
> Department of Integrative Biology
> 3060 VLSB #3140
> Berkeley, CA 94720-3140
>
> -----------------------------------------------------
> "[W]hen people thought the earth was flat, they were wrong. When people
> thought the earth was spherical, they were wrong. But if you think that
> thinking the earth is spherical is just as wrong as thinking the earth is
> flat, then your view is wronger than both of them put together."
>
> Isaac Asimov (1989). "The Relativity of Wrong." The Skeptical Inquirer,
> 14(1), 35-44. Fall 1989.
> http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
>
> ______________________________________________
> 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