prabclust {prabclus} | R Documentation |
Clusters a presence-absence matrix object by calculating an MDS from
the distances, and applying maximum likelihood Gaussian mixtures clustering
with "noise" (package mclust
) to the MDS points. The solution
is plotted. A standard execution will be
prabmatrix <- prabinit(file="path/prabmatrixfile",
neighborhood="path/neighborhoodfile")
clust <- prabclust(prabmatrix)
print(clust)
Note: Data formats are described
on the prabinit
help page. You may also consider the example datasets
kykladspecreg.dat
and nb.dat
. Take care of the
parameter rows.are.species
of prabinit
.
prabclust(prabobj, mdsmethod = "classical", mdsdim = 4, nnk = ceiling(prabobj$n.species/40), nclus = 0:9, modelid = "all") ## S3 method for class 'prabclust': print(x, bic=FALSE, ...)
prabobj |
object of class prab as
generated by prabinit . Presence-absence data to be analyzed.
|
mdsmethod |
"classical" , "kruskal" , or
"sammon" . The MDS method
to transform the distances to data points. "classical" indicates
metric MDS by function cmdscale , "kruskal" is
non-metric MDS. |
mdsdim |
integer. Dimension of the MDS points. |
nnk |
integer. Number of nearest neighbors to determine the
initial noise estimation by NNclean . |
nclus |
vector of integers. Numbers of clusters to perform the mixture estimation. |
modelid |
string. Model name for EMclustN (see the
corresponding help page). modelid="all" compares all possible
models. Additionally, "noVVV" is possible, which
fits all methods except "VVV" . |
x |
object of class prabclust . Output of
prabclust . |
bic |
logical. If TRUE , information about the BIC
criterion to choose the model is displayed. |
... |
necessary for summary method. |
print.prabclust
does not produce output.
prabclust
generates an object of class prabclust
. This is a
list with components
clustering |
vector of integers indicating the cluster memberships of
the species. Noise can be recognized by output component symbols . |
clustsummary |
output object of summary.EMclustN . A list
giving the optimal (according to BIC) parameters,
conditional probabilities `z', and loglikelihood, together with
the associated classification and its uncertainty. |
bicsummary |
output object of EMclustN . Bayesian Information
Criterion for the specified mixture models and numbers of clusters. |
points |
numerical matrix. MDS configuration. |
nnk |
see above. |
mdsdim |
see above. |
mdsmethod |
see above. |
symbols |
vector of characters, similar to clustering , but
indicating estimated noise and points belonging to
one-point-components (which should be interpreted as some kind of
noise as well) by "N" . |
Note that we used mdsmethod="kruskal"
in our publications, but
we prefer the new default mdsmethod="classical"
now, because we
discovered some numerical instabilities of the
isoMDS
-implementation in connection with our distance matrices.
Sometimes, prabclust
produces an error because EMclustN
cannot handle all models properly. In this case we recommend to change
the modelid
parameter. "noVVV"
and "VVV"
are
reasonable alternative choices (one of these is expected to reproduce
the error, but the other one might work).
Christian Hennig chrish@stats.ucl.ac.uk http://www.homepages.ucl.ac.uk/~ucakche
Hennig, C. and Hausdorf, B. (2004) Distance-based parametric bootstrap tests for clustering of species ranges. Computational Statistics and Data Analysis 45, 875-896. http://stat.ethz.ch/Research-Reports/110.html.
EMclustN
, summary.EMclustN
,
NNclean
, cmdscale
,
isoMDS
, sammon
,
prabinit
, hprabclust
.
data(kykladspecreg) # Note: If you do not use the installed package, replace this by # kykladspecreg <- read.table("(path/)kykladspecreg.dat") data(nb) # Note: If you do not use the installed package, replace this by # nb <- list() # for (i in 1:34) # nb <- c(nb,list(scan(file="(path/)nb.dat", # skip=i-1,nlines=1))) set.seed(1234) x <- prabinit(prabmatrix=kykladspecreg, neighborhood=nb) # If you want to use your own ASCII data files, use # x <- prabinit(file="path/prabmatrixfile", # neighborhood="path/neighborhoodfile") print(prabclust(x))