cselection               package:Mfuzz               R Documentation

_R_e_p_e_a_t_e_d _s_o_f_t _c_l_u_s_t_e_r_i_n_g _f_o_r _d_e_t_e_c_t_i_o_n _o_f _e_m_p_t_y _c_l_u_s_t_e_r_s

_D_e_s_c_r_i_p_t_i_o_n:

     This function  performs repeated soft clustering for a range of
     cluster numbers c and reports the number of empty clusters
     detected.

_U_s_a_g_e:

     cselection(eset,m,crange=seq(4,32,4),repeats=5,visu=TRUE,...)

_A_r_g_u_m_e_n_t_s:

    eset: object of class _ExpressionSet_.

       m: value of fuzzy c-means parameter 'm'.

  crange: range of number of clusters 'c'.

 repeats: number of repeated clusterings.

    visu: If 'visu=TRUE' plot of number of empty clusters is produced.

     ...: additional arguments for underlying 'mfuzz'.

_D_e_t_a_i_l_s:

     A soft cluster is considered as empty, if none of the genes has a
     corresponding membership value larger than 0.5

_V_a_l_u_e:

     A matrix with  the number of empty clusters detected is generated.

_N_o_t_e:

     The 'cselection' function may help to determine an accurate
     cluster number. However, it should be used with care, as the
     determination remains difficult especially for short time series
     and overlapping clusters. A better way is likely to perform
     clustering with a range of cluster numbers and subsequently assess
     their biological relevance e.g. by GO analyses.

_A_u_t_h_o_r(_s):

     Matthias E. Futschik (<URL:
     http://www.cbme.ualg.pt/mfutschik_cbme.html>)

_R_e_f_e_r_e_n_c_e_s:

     M.E. Futschik and B. Charlisle, Noise robust clustering of gene
     expression time-course data, Journal of Bioinformatics and
     Computational Biology, 3 (4), 965-988, 2005

     L. Kumar and M. Futschik, Mfuzz: a software package for soft
     clustering of microarray data, Bioinformation, 2(1) 5-7,2007

_E_x_a_m_p_l_e_s:

     if (interactive()){
     data(yeast)
     # Data pre-processing
     yeastF <- filter.NA(yeast)
     yeastF <- fill.NA(yeastF)
     yeastF <- standardise(yeastF)

     #### parameter selection
     # Empty clusters should not appear
     cl <- mfuzz(yeastF,c=20,m=1.25)
     mfuzz.plot(yeastF,cl=cl,mfrow=c(4,5))

     # Note: The following calculation might take some time

      tmp  <- cselection(yeastF,m=1.25,crange=seq(5,40,5),repeats=5,visu=TRUE)
      # derivation of number of non-empty clusters (crosses) from diagnonal
      # line  indicate appearance of empty clusters 

     # Empty clusters might appear 
     cl <- mfuzz(yeastF,c=40,m=1.25)
     mfuzz.plot(yeastF,cl=cl,mfrow=c(4,5)) 
      }

