labelstomss              package:hopach              R Documentation

_F_u_n_c_t_i_o_n_s _t_o _c_o_m_p_u_t_e _s_i_l_h_o_u_e_t_t_e_s _a_n_d _s_p_l_i_t _s_i_l_h_o_u_e_t_t_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     Silhouettes measure how well an element belongs to its cluster,
     and the average silhouette measures the strength of cluster
     membership overall.  The Median (or Mean) Split Silhouette (MSS)
     is a measure of cluster  heterogeneity. Given a partitioning of
     elements into groups, the MSS algorithm considers each group
     separately and computes the split silhouette for that group, which
     evaluates evidence in favor of further splitting the group. If the
     median (or mean) split silhouette over all groups in the partition
     is low, the groups are homogeneous.

_U_s_a_g_e:

     labelstomss(labels, dist, khigh = 9, within = "med", between = "med", 
     hierarchical = TRUE)

     msscheck(dist, kmax = 9, khigh = 9, within = "med", between = "med", 
         force = FALSE, echo = FALSE, graph = FALSE)

     silcheck(data, kmax = 9, diss = FALSE, echo = FALSE, graph = FALSE)

_A_r_g_u_m_e_n_t_s:

  labels: vector of cluster labels for each element in the set.

    dist: numeric distance matrix containing the pair wise distances 
          between all elements. All values must be numeric and missing
          values are not allowed.

    data: a data matrix. Each column corresponds to an observation, and
           each row corresponds to a variable. In the gene expression
          context,  observations are arrays and variables are genes.
          All values must be numeric.  Missing values are ignored. In
          'silcheck', 'data' may also be a  distance matrix or
          dissimilarity object if the argument 'diss=TRUE'.

   khigh: integer between 1 and 9 specifying the maximum number of 
          children for each cluster when computing MSS.

    kmax: integer between 1 and 9 specifying the maximum number of
          clusters to consider. Can be different from khigh, though
          typically these are the same value.

  within: character string indicating how to compute the split
          silhouette for each cluster. The available options are "med"
          (median over all elements in the cluster) or "mean" (mean
          over all elements in the  cluster).

 between: character string indicating how to compute the MSS over all
          clusters. The available options are "med" (median over all
          clusters) or "mean" (mean over all clusters). Recommended to
          use the same value as 'within'.

hierarchical: logical indicating if 'labels' should be treated as
          encoding a hierarchical tree, e.g. from HOAPCH.

   force: indicator of whether to require at least 2 clusters, if FALSE
          (default), one cluster is considered.

    echo: indicator of whether to print the selected number of clusters
          and corresponding MSS.

   graph: indicator of whether to generate a plot of MSS (or average
          silhouette in 'silcheck') versus number of clusters.

    diss: indicator of whether 'data' is a dissimilarity matrix  (or
          dissimilarity object), as in the 'pam' function of the 
          'cluster' package. If 'TRUE' then 'data' will be considered 
          as a dissimilarity matrix. If 'FALSE', then 'data' will be 
          considered as a data matrix (observations by variables).

_D_e_t_a_i_l_s:

     The Median (and mean) Split Silhouette (MSS) criteria is defined
     in  paper107 listed in the references (below). This criteria is
     based on the criteria function 'silhouette', proposed by Kaufman
     and Rousseeuw (1990). While average silhouette is a good global
     measure of cluster strength, MSS was developed to be more
     "aggressive" for finding small, homogeneous clusters in large data
     sets. MSS is a measure of average cluster homogeneity. The Median
     version is more robust than the Mean.

_V_a_l_u_e:

     For 'labelstomss', the median (or mean or combination) split
     silhouette, depending on the values of 'within' and 'between'. 

     For 'msscheck', a vector with first component the chosen number of
     clusters (minimizing MSS) and second component the corresponding
     MSS.

     For 'silcheck', a vector with first component the chosen number of
     clusters (maximizing average silhouette) and second component the
     corresponding average silhouette.

_A_u_t_h_o_r(_s):

     Katherine S. Pollard <kpollard@gladstone.ucsf.edu> and Mark J. van
     der Laan <laan@stat.berkeley.edu>

_R_e_f_e_r_e_n_c_e_s:

     <URL: http://www.bepress.com/ucbbiostat/paper107/>

     <URL:
     http://www.stat.berkeley.edu/~laan/Research/Research_subpages/Papers/jsmpaper.pdf>

     Kaufman, L. and Rousseeuw, P.J. (1990). Finding Groups in Data: An
     Introduction to Cluster Analysis. Wiley, New York.

_S_e_e _A_l_s_o:

     'pam', 'hopach', 'distancematrix'

_E_x_a_m_p_l_e_s:

     mydata<-rbind(cbind(rnorm(10,0,0.5),rnorm(10,0,0.5),rnorm(10,0,0.5)),cbind(rnorm(15,5,0.5),rnorm(15,5,0.5),rnorm(15,5,0.5)))
     mydist<-distancematrix(mydata,d="cosangle") #compute the distance matrix.

     #pam
     result1<-pam(mydata,k=2)
     result2<-pam(mydata,k=5)
     labelstomss(result1$clust,mydist,hierarchical=FALSE)
     labelstomss(result2$clust,mydist,hierarchical=FALSE)

     #hopach
     result3<-hopach(mydata,dmat=mydist)
     labelstomss(result3$clustering$labels,mydist)
     labelstomss(result3$clustering$labels,mydist,within="mean",between="mean")

