First I imported the genetic distance matrix from Exc..l. The matrix used was symmetric, meaning that the same distances were mirrored above and below the diagonal. I copied the matrix into the clipboard from Exc..l using Ctrl-C. The distance matrix included row and coloumn names, the six different locations. The matrix was imported in R by assigning it to an object named m:
> m <- as.matrix(read.table("clipboard", head=T, row.names=1))
The previous command imports the data stored in the clipboard and transforms the data frame into a matrix format. The options of the read.table() command: head=T and row.names=1, tell R that the first line of the matrix is a header and that row names are stored in the first column, respectively. After checking the matrix was imported correctly, I proceeded to load the ape library.
> library(ape)
The ape (analysis in phylogenetics and evolution) contains various methods for the analysis of genetic and evolutionary data. Ape also provides commands designed to calculate distances in DNA sequences. I will tackle those in another post. Now back to my tree. After importing the distance matrix, and including the ape library, I proceeded to create the phylogenetic tree with the nj() command:
> arbol <- nj(as.dist(m), "unrooted") > plot(arbol)
The "unrooted" parameter provided to the nj() command produces, as expected, an unrooted tree. The resulting tree topography was stored in the 'arbol' object. The plot command produced:

Thanks, this post was useful to me.
ReplyDeletehannes
adegenet package has a function to estimate Neis Genetic distance.
ReplyDeletedist.genpop(...,method=1)
Gives Nei's distance, metod=3 Cavalli Sforza....
Nice post thanks!
when i define arbol, it comes like this :
ReplyDeleteError in nj(as.dist(M), "unrooted") : unused argument ("unrooted")
What should i do?
This comment has been removed by the author.
DeleteSorry, I made a mistake. The unrooted option is for the plot command:
Delete> plot(arbol, type="unrooted")
nice post
ReplyDeleteappvn
tutuapp apk ios