Simply keep track of the next free component, or use

nextComp = length(list_of_lists)+1,

then use

list_of_lists[[nextComp]] = fitJC1

Unlike with vectors, with lists you don't have to specify length and can add
as many list components as you want later  The length of the list will
automatically adjust.

Peter



On Wed, May 26, 2010 at 9:21 PM, Nick Matzke <matzke@berkeley.edu> wrote:

> Thanks!  I tried that before but for some reason didn't notice that it was
> working correctly.
>
> PS: How would I append another element to the list?  This doesn't work:
>
> x = append(list_of_fits, fitJC1)
>
> # still works, from original list construction
> x[3]
>
> # but this doesn't work
> x[4]
>
> Cheers!
> Nick
>
>
>
> Peter Langfelder wrote:
>
>> 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@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@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@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@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.
>>
>>
> --
> ====================================================
> 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@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@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.
>

	[[alternative HTML version deleted]]

