Re: [R-sig-phylo] Function to Extend Tips?

2017-07-26 Thread William Gearty
Awesome, thanks Joseph!

On Wed, Jul 26, 2017 at 9:10 AM, Joseph W. Brown  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
> josep...@umich.edu
>
>
>
> On 26 Jul, 2017, at 11:57, William Gearty  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 
> 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
>> josep...@umich.edu
>>
>>
>>
>> On 26 Jul, 2017, at 11:39, David Bapst  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 
>> 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
>>
>>[[alternative HTML version deleted]]
>>
>> ___
>> R-sig-phylo mailing list - R-sig-phylo@r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
>> Searchable archive at http://www.mail-archive.com/r-
>> sig-ph...@r-project.org/
>>
>>
>>
>>
>> --
>> David W. Bapst, PhD
>> https://github.com/dwbapst/paleotree
>>
>> ___
>> R-sig-phylo mailing list - R-sig-phylo@r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
>> Searchable archive at http://www.mail-archive.com/r-
>> sig-ph...@r-project.org/
>>
>>
>>
>
>
> --
> William Gearty
> PhD Candidate, Paleobiology
> Department of Geological Sciences
> Stanford School of Earth, Energy & Environmental Sciences
> williamgearty.com
>
>
>


-- 
William Gearty
PhD Candidate, Paleobiology
Department of Geological Sciences
Stanford School of Earth, Energy & Environmental Sciences
williamgearty.com

[[alternative HTML version deleted]]

___
R-sig-phylo mailing list - R-sig-phylo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/


Re: [R-sig-phylo] Function to Extend Tips?

2017-07-26 Thread Joseph W. Brown
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
josep...@umich.edu



> On 26 Jul, 2017, at 11:57, William Gearty  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  > 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
> josep...@umich.edu 
> 
> 
> 
>> On 26 Jul, 2017, at 11:39, David Bapst > > 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 > > 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 
>>> 
>>>[[alternative HTML version deleted]]
>>> 
>>> ___
>>> R-sig-phylo mailing list - R-sig-phylo@r-project.org 
>>> 
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo 
>>> 
>>> Searchable archive at 
>>> http://www.mail-archive.com/r-sig-phylo@r-project.org/ 
>>> 
>> 
>> 
>> 
>> -- 
>> David W. Bapst, PhD
>> https://github.com/dwbapst/paleotree 
>> 
>> ___
>> R-sig-phylo mailing list - R-sig-phylo@r-project.org 
>> 
>> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo 
>> 
>> Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/ 
>> 
> 
> 
> 
> 
> -- 
> William Gearty
> PhD Candidate, Paleobiology
> Department of Geological Sciences
> Stanford School of Earth, Energy & Environmental Sciences
> williamgearty.com 


[[alternative HTML version deleted]]

___
R-sig-phylo mailing list - R-sig-phylo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/


Re: [R-sig-phylo] Function to Extend Tips?

2017-07-26 Thread William Gearty
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  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
> josep...@umich.edu
>
>
>
> On 26 Jul, 2017, at 11:39, David Bapst  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 
> 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
>
>[[alternative HTML version deleted]]
>
> ___
> R-sig-phylo mailing list - R-sig-phylo@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
> Searchable archive at http://www.mail-archive.com/r-
> sig-ph...@r-project.org/
>
>
>
>
> --
> David W. Bapst, PhD
> https://github.com/dwbapst/paleotree
>
> ___
> R-sig-phylo mailing list - R-sig-phylo@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
> Searchable archive at http://www.mail-archive.com/r-
> sig-ph...@r-project.org/
>
>
>


-- 
William Gearty
PhD Candidate, Paleobiology
Department of Geological Sciences
Stanford School of Earth, Energy & Environmental Sciences
williamgearty.com

[[alternative HTML version deleted]]

___
R-sig-phylo mailing list - R-sig-phylo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/


Re: [R-sig-phylo] Function to Extend Tips?

2017-07-26 Thread Joseph W. Brown
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
josep...@umich.edu



> On 26 Jul, 2017, at 11:39, David Bapst  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  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
>> 
>>[[alternative HTML version deleted]]
>> 
>> ___
>> R-sig-phylo mailing list - R-sig-phylo@r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
>> Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/
> 
> 
> 
> -- 
> David W. Bapst, PhD
> https://github.com/dwbapst/paleotree
> 
> ___
> R-sig-phylo mailing list - R-sig-phylo@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
> Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/


[[alternative HTML version deleted]]

___
R-sig-phylo mailing list - R-sig-phylo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/


[R-sig-phylo] Function to Extend Tips?

2017-07-21 Thread William Gearty
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

[[alternative HTML version deleted]]

___
R-sig-phylo mailing list - R-sig-phylo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/