This function can be used to subset rows, select and compute on columns data.table.

# S3 method for treedata.table
[(x, ...)

Arguments

x

An object of class treedata.table

...

Arguments in the structure of data.table used to perform changes on the treedata.table object

Value

A new object of class treedata.table with $dat and $phy corresponding with the changes set to $dat using data.table's structure.

See also

Examples

data(anolis) anolis2 <- anolis$phy anolis2$tip.label[1] <- "NAA" anolis1 <- anolis$phy anolis1$tip.label[1] <- "NAA" trees <- list(anolis1, anolis2) class(trees) <- "multiPhylo" treesFM <- list(anolis$phy, anolis$phy) class(treesFM) <- "multiPhylo" # A phylo object that fully matches the data td <- as.treedata.table(tree = anolis$phy, data = anolis$dat)
#> Tip labels detected in column: X
#> Phylo object detected
#> All tips from original tree/dataset were preserved
td <- as.treedata.table(anolis$phy, anolis$dat)
#> Tip labels detected in column: X
#> Phylo object detected
#> All tips from original tree/dataset were preserved
td[, SVL]
#> $phy #> #> Phylogenetic tree with 100 tips and 99 internal nodes. #> #> Tip labels: #> ahli, allogus, rubribarbus, imias, sagrei, bremeri, ... #> #> Rooted; includes branch lengths. #> #> $dat #> SVL #> 1: 4.039125 #> 2: 4.040138 #> 3: 4.078469 #> 4: 4.099687 #> 5: 4.067162 #> 6: 4.113371
td[island == "Cuba" & ecomorph == "TG", .(ecomorph, island, SVL)]
#> $phy #> #> Phylogenetic tree with 12 tips and 11 internal nodes. #> #> Tip labels: #> ahli, allogus, rubribarbus, imias, sagrei, bremeri, ... #> #> Rooted; includes branch lengths. #> #> $dat #> ecomorph island SVL #> 1: TG Cuba 4.039125 #> 2: TG Cuba 4.040138 #> 3: TG Cuba 4.078469 #> 4: TG Cuba 4.099687 #> 5: TG Cuba 4.067162 #> 6: TG Cuba 4.113371
td[, utils::head(.SD, 1), by = .(ecomorph, island)]
#> $phy #> #> Phylogenetic tree with 23 tips and 22 internal nodes. #> #> Tip labels: #> ahli, ophiolepis, garmani, opalinus, grahami, valencienni, ... #> #> Rooted; includes branch lengths. #> #> $dat #> ecomorph island tip.label SVL PCI_limbs PCII_head #> 1: TG Cuba ahli 4.039125 -3.2482860 0.3722519 #> 2: GB Cuba ophiolepis 3.637962 0.7915117 1.4585760 #> 3: CG Puerto Rico garmani 4.769473 -0.7735264 0.9371249 #> 4: TC Jamaica opalinus 3.838376 -1.7794371 -0.3245381 #> 5: TC Puerto Rico grahami 4.154274 -2.3056535 -1.9139369 #> 6: TW Jamaica valencienni 4.321524 2.9424139 -0.8846007 #> PCIII_padwidth_vs_tail PCIV_lamella_num awesomeness hostility attitude #> 1: -1.0422187 -2.4147423 -0.24165170 -0.17347691 0.6443771 #> 2: -1.3152005 -2.2377514 0.35441877 0.05366142 -0.0938953 #> 3: 0.2594994 0.1051149 0.16779131 0.67675600 -0.6946008 #> 4: 1.5569939 0.9366501 1.48302162 -0.90826653 0.7261348 #> 5: 1.6852579 1.0144193 0.41064280 -0.11746257 0.7022959 #> 6: 1.8543308 0.1288233 -0.08837008 0.46528679 -0.5675490
# A multiphylo object that fully matches the data td <- as.treedata.table(tree = treesFM, data = anolis$dat)
#> Tip labels detected in column: X
#> Multiphylo object detected
#> All tips from original tree/dataset were preserved
td <- as.treedata.table(treesFM, anolis$dat)
#> Tip labels detected in column: X
#> Multiphylo object detected
#> All tips from original tree/dataset were preserved
td[, SVL]
#> $phy #> 2 phylogenetic trees #> #> $dat #> SVL #> 1: 4.039125 #> 2: 4.040138 #> 3: 4.078469 #> 4: 4.099687 #> 5: 4.067162 #> 6: 4.113371
td[island == "Cuba" & ecomorph == "TG", .(ecomorph, island, SVL)]
#> $phy #> 2 phylogenetic trees #> #> $dat #> ecomorph island SVL #> 1: TG Cuba 4.039125 #> 2: TG Cuba 4.040138 #> 3: TG Cuba 4.078469 #> 4: TG Cuba 4.099687 #> 5: TG Cuba 4.067162 #> 6: TG Cuba 4.113371
td[, utils::head(.SD, 1), by = .(ecomorph, island)]
#> $phy #> 2 phylogenetic trees #> #> $dat #> ecomorph island tip.label SVL PCI_limbs PCII_head #> 1: TG Cuba ahli 4.039125 -3.2482860 0.3722519 #> 2: GB Cuba ophiolepis 3.637962 0.7915117 1.4585760 #> 3: CG Puerto Rico garmani 4.769473 -0.7735264 0.9371249 #> 4: TC Jamaica opalinus 3.838376 -1.7794371 -0.3245381 #> 5: TC Puerto Rico grahami 4.154274 -2.3056535 -1.9139369 #> 6: TW Jamaica valencienni 4.321524 2.9424139 -0.8846007 #> PCIII_padwidth_vs_tail PCIV_lamella_num awesomeness hostility attitude #> 1: -1.0422187 -2.4147423 -0.24165170 -0.17347691 0.6443771 #> 2: -1.3152005 -2.2377514 0.35441877 0.05366142 -0.0938953 #> 3: 0.2594994 0.1051149 0.16779131 0.67675600 -0.6946008 #> 4: 1.5569939 0.9366501 1.48302162 -0.90826653 0.7261348 #> 5: 1.6852579 1.0144193 0.41064280 -0.11746257 0.7022959 #> 6: 1.8543308 0.1288233 -0.08837008 0.46528679 -0.5675490
# A phylo object that partially matches the data td <- as.treedata.table(tree = anolis1, data = anolis$dat)
#> Tip labels detected in column: X
#> Phylo object detected
#> 1 tip(s) dropped from the original tree #> 1 row(s) dropped from the original dataset
td <- as.treedata.table(anolis1, anolis$dat)
#> Tip labels detected in column: X
#> Phylo object detected
#> 1 tip(s) dropped from the original tree #> 1 row(s) dropped from the original dataset
td[, SVL]
#> $phy #> #> Phylogenetic tree with 99 tips and 98 internal nodes. #> #> Tip labels: #> allogus, rubribarbus, imias, sagrei, bremeri, quadriocellifer, ... #> #> Rooted; includes branch lengths. #> #> $dat #> SVL #> 1: 4.040138 #> 2: 4.078469 #> 3: 4.099687 #> 4: 4.067162 #> 5: 4.113371 #> 6: 3.901619
td[island == "Cuba" & ecomorph == "TG", .(ecomorph, island, SVL)]
#> $phy #> #> Phylogenetic tree with 11 tips and 10 internal nodes. #> #> Tip labels: #> allogus, rubribarbus, imias, sagrei, bremeri, quadriocellifer, ... #> #> Rooted; includes branch lengths. #> #> $dat #> ecomorph island SVL #> 1: TG Cuba 4.040138 #> 2: TG Cuba 4.078469 #> 3: TG Cuba 4.099687 #> 4: TG Cuba 4.067162 #> 5: TG Cuba 4.113371 #> 6: TG Cuba 3.901619
td[, utils::head(.SD, 1), by = .(ecomorph, island)]
#> $phy #> #> Phylogenetic tree with 23 tips and 22 internal nodes. #> #> Tip labels: #> allogus, ophiolepis, garmani, opalinus, grahami, valencienni, ... #> #> Rooted; includes branch lengths. #> #> $dat #> ecomorph island tip.label SVL PCI_limbs PCII_head #> 1: TG Cuba allogus 4.040138 -2.8455702 0.6001134 #> 2: GB Cuba ophiolepis 3.637962 0.7915117 1.4585760 #> 3: CG Puerto Rico garmani 4.769473 -0.7735264 0.9371249 #> 4: TC Jamaica opalinus 3.838376 -1.7794371 -0.3245381 #> 5: TC Puerto Rico grahami 4.154274 -2.3056535 -1.9139369 #> 6: TW Jamaica valencienni 4.321524 2.9424139 -0.8846007 #> PCIII_padwidth_vs_tail PCIV_lamella_num awesomeness hostility attitude #> 1: -1.0253056 -2.4633111 0.62446888 -0.50009622 0.7128910 #> 2: -1.3152005 -2.2377514 0.35441877 0.05366142 -0.0938953 #> 3: 0.2594994 0.1051149 0.16779131 0.67675600 -0.6946008 #> 4: 1.5569939 0.9366501 1.48302162 -0.90826653 0.7261348 #> 5: 1.6852579 1.0144193 0.41064280 -0.11746257 0.7022959 #> 6: 1.8543308 0.1288233 -0.08837008 0.46528679 -0.5675490
# A multiphylo object that partially matches the data td <- as.treedata.table(tree = trees, data = anolis$dat)
#> Tip labels detected in column: X
#> Multiphylo object detected
#> 1 tip(s) dropped from 2 trees #> 1 row(s) dropped from the original dataset
td <- as.treedata.table(trees, anolis$dat)
#> Tip labels detected in column: X
#> Multiphylo object detected
#> 1 tip(s) dropped from 2 trees #> 1 row(s) dropped from the original dataset
td[, SVL]
#> $phy #> 2 phylogenetic trees #> #> $dat #> SVL #> 1: 4.040138 #> 2: 4.078469 #> 3: 4.099687 #> 4: 4.067162 #> 5: 4.113371 #> 6: 3.901619
td[island == "Cuba" & ecomorph == "TG", .(ecomorph, island, SVL)]
#> $phy #> 2 phylogenetic trees #> #> $dat #> ecomorph island SVL #> 1: TG Cuba 4.040138 #> 2: TG Cuba 4.078469 #> 3: TG Cuba 4.099687 #> 4: TG Cuba 4.067162 #> 5: TG Cuba 4.113371 #> 6: TG Cuba 3.901619
td[, utils::head(.SD, 1), by = .(ecomorph, island)]
#> $phy #> 2 phylogenetic trees #> #> $dat #> ecomorph island tip.label SVL PCI_limbs PCII_head #> 1: TG Cuba allogus 4.040138 -2.8455702 0.6001134 #> 2: GB Cuba ophiolepis 3.637962 0.7915117 1.4585760 #> 3: CG Puerto Rico garmani 4.769473 -0.7735264 0.9371249 #> 4: TC Jamaica opalinus 3.838376 -1.7794371 -0.3245381 #> 5: TC Puerto Rico grahami 4.154274 -2.3056535 -1.9139369 #> 6: TW Jamaica valencienni 4.321524 2.9424139 -0.8846007 #> PCIII_padwidth_vs_tail PCIV_lamella_num awesomeness hostility attitude #> 1: -1.0253056 -2.4633111 0.62446888 -0.50009622 0.7128910 #> 2: -1.3152005 -2.2377514 0.35441877 0.05366142 -0.0938953 #> 3: 0.2594994 0.1051149 0.16779131 0.67675600 -0.6946008 #> 4: 1.5569939 0.9366501 1.48302162 -0.90826653 0.7261348 #> 5: 1.6852579 1.0144193 0.41064280 -0.11746257 0.7022959 #> 6: 1.8543308 0.1288233 -0.08837008 0.46528679 -0.5675490