I actually messed up the indices. Should be this:
# assumes a tree 'phy' and a dataframe, 'df', with first column of tip names,
and second column of values
for (i in 1:dim(df)[1]) {
# find index of edge length
idx <- which(phy$edge[,2] == which(phy$tip.label == df[i,1]));
# apply it. this assume you want to extend it, not just set it
phy$edge.length[idx] <- phy$edge.length[idx] + as.numeric(df[i,2]);
}
That said, I haven't tested, so maybe works?
JWB
________________________________________
Joseph W. Brown
Post-doctoral Researcher, Smith Laboratory
University of Michigan
Department of Ecology & Evolutionary Biology
Room 2071, Kraus Natural Sciences Building
Ann Arbor MI 48109-1079
[email protected]
> On 26 Jul, 2017, at 12:12, William Gearty <[email protected]> wrote:
>
> Awesome, thanks Joseph!
>
> On Wed, Jul 26, 2017 at 9:10 AM, Joseph W. Brown <[email protected]
> <mailto:[email protected]>> wrote:
> I think this'll work, depending on how you store your data.
>
> # assumes a tree 'phy' and a dataframe, 'df', with first column of tip names,
> and second column of values
> for (i in 1:dim(df)[1]) {
> # find index of edge length
> idx <- which(phy$edge[,2] == which(phy$tip.label == df[1,i]));
> # apply it. this assume you want to extend it, not just set it
> phy$edge.length[idx] <- phy$edge.length[idx] + as.numeric(df[i,2]);
> }
>
> Probably a nicer way to do it without a loop...
>
> JWB
> ________________________________________
> Joseph W. Brown
> Post-doctoral Researcher, Smith Laboratory
> University of Michigan
> Department of Ecology & Evolutionary Biology
> Room 2071, Kraus Natural Sciences Building
> Ann Arbor MI 48109-1079
> [email protected] <mailto:[email protected]>
>
>
>
>> On 26 Jul, 2017, at 11:57, William Gearty <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> That's definitely helpful, Joseph, but I'll need to extend the tips to
>> varying amounts.
>>
>> Basically, I performed a tip-dating analysis using constraints based on the
>> FADs of a bunch of fossils.
>> However, now some of the analyses I want to perform require that the tips
>> extend to the species' extinctions, so I need to extend them to the LADs (or
>> farther, I suppose).
>> How would I, given a vector of LAD ages for the tips, extend the tips to
>> those ages?
>>
>> On Wed, Jul 26, 2017 at 8:50 AM, Joseph W. Brown <[email protected]
>> <mailto:[email protected]>> wrote:
>> If you want to just extend all tips by a constant amount you can do this:
>>
>> # extend terminal edges by arbitrary amount (here: 13)
>> idx <- which(phy$edge[,2] < (phy$Nnode + 1));
>> phy$edge.length[idx] <- phy$edge.length[idx] + 13;
>>
>> HTH.
>> Joseph.
>> ________________________________________
>> Joseph W. Brown
>> Post-doctoral Researcher, Smith Laboratory
>> University of Michigan
>> Department of Ecology & Evolutionary Biology
>> Room 2071, Kraus Natural Sciences Building
>> Ann Arbor MI 48109-1079
>> [email protected] <mailto:[email protected]>
>>
>>
>>
>>> On 26 Jul, 2017, at 11:39, David Bapst <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>
>>> Not sure what you mean by extending tips, Will. Could you describe a
>>> small example?
>>> -Dave
>>>
>>> On Fri, Jul 21, 2017 at 5:15 PM, William Gearty <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>> Hi all,
>>>>
>>>> Before I go ahead and wrote a whole script, I was wondering if there is a
>>>> function or script out there for extending tips (or setting the ages of
>>>> tips) given a list of taxa and ages?
>>>> I haven't found anything, but perhaps I'm searching the wrong phrase(s).
>>>>
>>>> Thanks,
>>>> Will
>>>>
>>>> --
>>>> William Gearty
>>>> PhD Candidate, Paleobiology
>>>> Department of Geological Sciences
>>>> Stanford School of Earth, Energy & Environmental Sciences
>>>> williamgearty.com <http://williamgearty.com/>
>>>>
>>>> [[alternative HTML version deleted]]
>>>>
>>>> _______________________________________________
>>>> R-sig-phylo mailing list - [email protected]
>>>> <mailto:[email protected]>
>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
>>>> <https://stat.ethz.ch/mailman/listinfo/r-sig-phylo>
>>>> Searchable archive at
>>>> http://www.mail-archive.com/[email protected]/
>>>> <http://www.mail-archive.com/[email protected]/>
>>>
>>>
>>>
>>> --
>>> David W. Bapst, PhD
>>> https://github.com/dwbapst/paleotree <https://github.com/dwbapst/paleotree>
>>>
>>> _______________________________________________
>>> R-sig-phylo mailing list - [email protected]
>>> <mailto:[email protected]>
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
>>> <https://stat.ethz.ch/mailman/listinfo/r-sig-phylo>
>>> Searchable archive at
>>> http://www.mail-archive.com/[email protected]/
>>> <http://www.mail-archive.com/[email protected]/>
>>
>>
>>
>>
>> --
>> William Gearty
>> PhD Candidate, Paleobiology
>> Department of Geological Sciences
>> Stanford School of Earth, Energy & Environmental Sciences
>> williamgearty.com <http://williamgearty.com/>
>
>
>
>
> --
> William Gearty
> PhD Candidate, Paleobiology
> Department of Geological Sciences
> Stanford School of Earth, Energy & Environmental Sciences
> williamgearty.com <http://williamgearty.com/>
[[alternative HTML version deleted]]
_______________________________________________
R-sig-phylo mailing list - [email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
Searchable archive at http://www.mail-archive.com/[email protected]/