liamrevell / phytools

GNU General Public License v3.0
207 stars 56 forks source link

objective: 0 when running phylo.to map #41

Closed XHuang043 closed 4 years ago

XHuang043 commented 5 years ago

Hi Liam,

I keep getting 'objective: 0' but I cannot find the problem. I'm quite sure that there's no problem with the structure or rownames.

head(site) lat long Ficedula narcissina 39.4834 115.25 Ficedula narcissina 39.4834 115.25 Ficedula narcissina 39.4834 115.25 Ficedula narcissina 39.4834 115.25 Ficedula narcissina 39.4834 115.25 Ficedula narcissina 39.4834 115.25 is.matrix(site) [1] TRUE setdiff(rownames(site), host.tree$tip.label) character(0) obj <- phylo.to.map(host.tree, site, database = "worldHires", plot = F) objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0 objective: 0

Hope you can give some suggestions on resolving this problem. Thanks!

liamrevell commented 5 years ago

This is probably because your data are in a data frame & not a matrix. Change to a matrix using as.matrix( ).

XHuang043 commented 5 years ago

Thanks for the reply, but after double checking, I'm pretty sure that it is a matrix and the rownames are similar with tip labels of the phylogenetic tree.

liamrevell commented 4 years ago

Does it pass is.matrix(...)? If is.matrix returns FALSE then it is not a matrix.