[R-sig-eco] Errors with Simprof for cluster significance
Sarah Goslee
sarah.goslee at gmail.com
Fri Oct 7 18:21:00 CEST 2016
I can't duplicate your error. Assuming the attached document describes
your data, it works fine. I changed the code to use braycurtis instead
of euclidean, as you wanted, and it does return a warning, just as the
help file documents.
So you'll need to provide more information.
data<- structure(list(necsur = c(1L, 4L, 0L, 8L, 0L, 1L), necame = c(4L,
5L, 9L, 9L, 4L, 7L), niccar = c(1L, 1L, 1L, 2L, 1L, 4L), nicorb = c(2L,
20L, 23L, 26L, 3L, 12L), nicpus = c(0L, 0L, 1L, 0L, 0L, 0L),
nictor = c(0L, 2L, 1L, 3L, 2L, 1L), delgib = c(10L, 31L,
47L, 48L, 15L, 55L), cancha = c(5L, 6L, 4L, 4L, 1L, 6L),
melbis = c(3L, 0L, 1L, 3L, 0L, 1L), atelec = c(4L, 6L, 28L,
22L, 8L, 52L), copmin = c(0L, 0L, 1L, 1L, 0L, 1L), ontcon = c(3L,
3L, 11L, 7L, 1L, 2L), ontdep = c(2L, 0L, 0L, 0L, 0L, 0L),
onthec = c(17L, 15L, 9L, 6L, 6L, 2L), ontstr = c(0L, 0L,
0L, 1L, 1L, 0L), onttau = c(20L, 13L, 6L, 2L, 0L, 2L), ontpen = c(2L,
3L, 5L, 3L, 2L, 4L), onttub = c(2L, 3L, 4L, 1L, 1L, 0L),
phavin = c(1L, 0L, 0L, 0L, 0L, 1L), Phyili = c(0L, 0L, 0L,
0L, 0L, 1L), canvir = c(0L, 1L, 0L, 0L, 0L, 0L), hybill = c(1L,
0L, 0L, 0L, 0L, 0L), cyclev = c(0L, 0L, 0L, 0L, 1L, 1L),
galjan = c(0L, 0L, 1L, 1L, 0L, 0L), cyclosig = c(0L, 0L,
0L, 0L, 1L, 0L), omomon = c(1L, 2L, 4L, 10L, 1L, 6L), trofov = c(1L,
2L, 3L, 1L, 0L, 1L), trouni = c(1L, 0L, 0L, 1L, 0L, 0L),
troter = c(0L, 1L, 1L, 0L, 0L, 0L), eusass = c(9L, 8L, 23L,
14L, 11L, 28L), hiscoe = c(2L, 1L, 10L, 4L, 2L, 4L), hisabb = c(0L,
0L, 0L, 0L, 2L, 0L), cremax = c(4L, 7L, 1L, 2L, 2L, 5L),
plamac = c(1L, 0L, 3L, 2L, 2L, 2L), plafem = c(0L, 0L, 0L,
0L, 0L, 0L), plafos = c(1L, 1L, 3L, 2L, 1L, 2L), placom = c(6L,
3L, 3L, 10L, 13L, 7L), tacfim = c(0L, 0L, 1L, 0L, 0L, 0L)), .Names
= c("necsur",
"necame", "niccar", "nicorb", "nicpus", "nictor", "delgib", "cancha",
"melbis", "atelec", "copmin", "ontcon", "ontdep", "onthec", "ontstr",
"onttau", "ontpen", "onttub", "phavin", "Phyili", "canvir", "hybill",
"cyclev", "galjan", "cyclosig", "omomon", "trofov", "trouni",
"troter", "eusass", "hiscoe", "hisabb", "cremax", "plamac", "plafem",
"plafos", "placom", "tacfim"), row.names = c("AP-0", "AP-100",
"AP-200", "AP-300", "ST-0", "ST-100"), class = "data.frame")
> simprof(data, num.expected=1000, num.simulated=999,
+ method.cluster="average", method.distance="braycurtis",
+ method.transform="identity", alpha=0.05,
+ sample.orientation="row", const=0,
+ silent=TRUE, increment=100,
+ undef.zero=TRUE, warn.braycurtis=TRUE)
$numgroups
[1] 2
$pval
[,1] [,2] [,3]
[1,] -3 -4 NA
[2,] -6 1 0.461461461
[3,] -1 -2 NA
[4,] -5 3 0.905905906
[5,] 2 4 0.003003003
$hclust
Call:
hclust(d = rawdata.dist, method = method.cluster)
Cluster method : average
Number of objects: 6
$significantclusters
$significantclusters[[1]]
[1] "ST-100" "AP-200" "AP-300"
$significantclusters[[2]]
[1] "ST-0" "AP-0" "AP-100"
Warning messages:
1: This version of the Bray-Curtis index does not use standardization.
2: To use the standardized version, use "actual-braycurtis".
3: See the help documentation for more information.
On Thu, Oct 6, 2016 at 8:43 PM, Ansley Silva <daily.puja at gmail.com> wrote:
> Hello all,
>
> I'm using R version 3.3.1, clustsig package.
>
> I have a community dataset and I originally used hclust in the vegan
> package to get dendrograms, however I need significance on the groups that
> were formed. I'd really like to use SIMPROF to look for significance among
> the groups, but I am running into errors.
>
>
> These are the errors I get:
>
>> simprof(apst, num.expected=1000, num.simulated=999,
> method.cluster="average", method.distance="braycurtis", alpha=0.05,
> sample.orientation = "column", const = 0, silent = TRUE,increment=100)
>
> Error: argument "undef.zero" is missing, with no default
> In addition: Warning messages:
> 1: This version of the Bray-Curtis index does not use standardization.
> 2: To use the standardized version, use "actual-braycurtis".
> 3: See the help documentation for more information.
>
>> simprof(apst, num.expected=1000, num.simulated=999,
> method.cluster="average", method.distance="actual-braycurtis", alpha=0.05,
> sample.orientation = "column", const = 0, silent = TRUE,increment=100)
>
> Error in if (denom != 0) { : missing value where TRUE/FALSE needed
>
>> simprof(apst, num.expected=1000, num.simulated=999,
> method.cluster="average", method.distance="braycurtis", alpha=0.05,
> sample.orientation = "column", const = 0, silent = TRUE,increment=100)
>
> Error: argument "undef.zero" is missing, with no default
> In addition: Warning messages:
> 1: This version of the Bray-Curtis index does not use standardization.
> 2: To use the standardized version, use "actual-braycurtis".
> 3: See the help documentation for more information.
>
>> simprof(apst, num.expected=1000, num.simulated=999,
> method.cluster="average",
> method.transform="log",method.distance="braycurtis", alpha=0.05,
> sample.orientation = "column", const = 0, silent = TRUE,increment=100)
>
> Error in if (pval > alpha) { : missing value where TRUE/FALSE needed
> In addition: Warning messages:
> 1: This version of the Bray-Curtis index does not use standardization.
> 2: To use the standardized version, use "actual-braycurtis".
> 3: See the help documentation for more information.
>
>
>
> I have some samples were the columns added up to zero, so I tried removing
> them since I was using method.transform="log". But that didn't seem to
> change anything.
> I also tried transposing the data, but no luck there.
> I am using braycurtis, but have tried actual-braycurtis and that did not
> help.
> I have also tried tweeking undef.zero.
>
>
> If anyone could help provide some solutions, that would be greatly
> appreciated.
> Please and thank you,
>
> --
> Ansley Silva
>
More information about the R-sig-ecology
mailing list