-
- n <- dim(x)
- s <- n[2]
- n <- n[1]
-
- ## <FIXME> this should be safely deleted
- if (!pairwise.deletion) {
- keep <- .C("GlobalDeletionDNA", x, as.integer(n),
- as.integer(s), as.integer(rep(1, s)),
- PACKAGE = "ape")[[4]]
- x <- x[, as.logical(keep)]
- s <- dim(x)[2]
- }
- ## </FIXME>
-
- ans <- .C("NucleotideDiversity", x, as.integer(n), as.integer(s),
- as.integer(pairwise.deletion), double(1), PACKAGE = "ape")[[5]]
-
+ if (is.list(x)) x <- as.matrix(x)
+ n <- dim(x)[1]
+ ans <- sum(dist.dna(x, "raw", pairwise.deletion = pairwise.deletion))/
+ (n*(n - 1)/2)