Hello,

I am writing to the R-sig-phylo mailing list regarding what seems to be a bug 
in the `phydataplot` function in `ape`.

Specifically, if the style is `mosaic` but the data is a vector or 1-column 
matrix, the function fails. 

The following code is from the examples (that obviously works):
> tr <- rtree(n <- 30)
> p <- 5
> x <- matrix(sample(3, size = n*p, replace = TRUE), n, p)
> dimnames(x) <- list(paste0("t", 1:n), LETTERS[1:p])
> plot(tr, x.lim = 35, align.tip = TRUE, adj = 1)
> phydataplot(x, tr, "m", 2)

However, if I instead use only 1 column of x (either vector or force to remain 
a matrix):

> phydataplot(x[,1],tr,"m",2)
Error in seq.default(x0, x1, width) : invalid (to - from)/by in seq(.)
> phydataplot(x[,1,drop=FALSE],tr,"m",2)
Error in seq.default(x0, x1, width) : invalid (to - from)/by in seq(.)


This appears to be because of the following code within the function:
p <- ncol(x)
if (is.null(width)) {
            x1 <- lastPP$x.lim[2]
            width <- (x1 - x0)/p
} else x1 <- x0 + width * p
xx <- seq(x0, x1, width)

Since `x` is the output of `.matchDataPhylo(x, phy)`, it is always a vector, 
even if original x is a 1-column matrix, so that ncol(x) is NULL. Probably if 
there is a catch for when x is a vector to set p=1, then it would fix the 
problem, though I haven’t tested whether there are any further problems that 
come up.

All of the best,
Elizabeth Purdom

Here is my session info:
> sessionInfo()
R version 3.3.0 beta (2016-04-04 r70420)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.10.5 (Yosemite)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] parallel  stats4    stats     graphics  grDevices utils     datasets  
methods   base     

other attached packages:
 [1] clusterExperiment_1.3.1    ape_4.1                    
SummarizedExperiment_1.4.0
 [4] Biobase_2.34.0             GenomicRanges_1.26.4       GenomeInfoDb_1.10.3  
     
 [7] IRanges_2.8.2              S4Vectors_0.12.2           BiocGenerics_0.20.0  
     
[10] devtools_1.12.0           

loaded via a namespace (and not attached):
 [1] nlme_3.1-131       bitops_1.0-6       matrixStats_0.52.2 bold_0.4.0        
 doParallel_1.0.10 
 [6] RColorBrewer_1.1-2 progress_1.1.2     httr_1.2.1         prabclus_2.2-6    
 tools_3.3.0       
[11] R6_2.2.0           DBI_0.6-1          lazyeval_0.2.0     colorspace_1.3-2  
 ade4_1.7-6        
[16] trimcluster_0.1-2  nnet_7.3-12        withr_1.0.2        gridExtra_2.2.1   
 prettyunits_1.0.2 
[21] xml2_1.1.1         pkgmaker_0.22      diptest_0.75-7     scales_0.4.1      
 DEoptimR_1.0-8    
[26] mvtnorm_1.0-6      robustbase_0.92-7  NMF_0.20.6         commonmark_1.2    
 stringr_1.2.0     
[31] digest_0.6.12      XVector_0.14.1     limma_3.30.13      howmany_0.3-1     
 jsonlite_1.4      
[36] mclust_5.2.3       dendextend_1.5.2   dplyr_0.5.0        RCurl_1.95-4.8    
 magrittr_1.5      
[41] modeltools_0.2-21  Matrix_1.2-10      Rcpp_0.12.10       munsell_0.4.3     
 abind_1.4-5       
[46] viridis_0.4.0      stringi_1.1.5      whisker_0.3-2      MASS_7.3-47       
 zlibbioc_1.20.0   
[51] flexmix_2.3-14     MAST_1.0.5         plyr_1.8.4         grid_3.3.0        
 crayon_1.3.2      
[56] rncl_0.8.2         lattice_0.20-35    splines_3.3.0      uuid_0.1-2        
 taxize_0.8.4      
[61] fpc_2.1-10         rngtools_1.2.4     reshape2_1.4.2     codetools_0.2-15  
 XML_3.98-1.7      
[66] RNeXML_2.0.7       data.table_1.10.4  foreach_1.4.3      testthat_1.0.2    
 locfdr_1.1-8      
[71] gtable_0.2.0       tidyr_0.6.2        reshape_0.8.6      kernlab_0.9-25    
 assertthat_0.2.0  
[76] ggplot2_2.2.1      gridBase_0.4-7     phylobase_0.8.4    xtable_1.8-2      
 roxygen2_6.0.1    
[81] class_7.3-14       viridisLite_0.2.0  tibble_1.3.0       iterators_1.0.8   
 registry_0.3      
[86] memoise_1.1.0      cluster_2.0.6     
> 
        [[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/

Reply via email to