Sto tentando di ordinare le righe di un dataframe in base alle etichette tip trovate in un albero filogenetico. Il modo in cui avrei dovuto farlo era utilizzare la funzione match
simile alla risposta da this question, tuttavia sono bloccato perché la proprietà tip.label
dell'oggetto ape
phylo non cambia se si riordinano i nodi utilizzando la funzione ladderize
.Come ottenere l'ordine corretto delle etichette tip nell'APE dopo aver chiamato la funzione ladderize
library(ape)
tree <- read.tree(text = "(((A,B),(C,D)),E);")
tree2 <- ladderize(tree, right = FALSE)
tree$tip.label
#> [1] "A" "B" "C" "D" "E"
tree2$tip.label
#> [1] "A" "B" "C" "D" "E"
Si noti che l'ordine del tip.label
non è cambiata, anche se la rappresentazione visiva dell'albero fa. In questo semplice esempio l'ordine visivo dell'albero dopo la funzione ladderize
è E A B C D
(lettura dal basso verso l'alto sull'albero dopo la stampa). Come posso ottenere una copia del vettore tip.label
in cui l'ordine riflette il nuovo ordine dei nodi nell'albero?