[R] Help with SOM membership

From: Ken Termiso <jerk_alert_at_hotmail.com>
Date: Fri 10 Jun 2005 - 04:36:58 EST


Hi all,

I originally posted this to the bioconductor group, but maybe it's better suited to the r-help...

I'm using som() to partition samples of gene expression data into clusters. The point is to classify control vs. experimental cases (sample clustering). The original matrix was 22283 x 8. The 8 samples have 4 controls and 4 experimentals.

I transposed the matrix so that its dim are 8 x 22283, and called that "allt." Using the normalize() function from som library, I scaled the data to have mean zero and variance 1.

allt.som <- som(allt, xdim=5, ydim=5, topol="hexa", neigh="bubble", alpha=1) plot(allt.som)

What I cannot figure out how to do is how to determine where each sample has clustered, since the plot that i'm using does not include labels...I also tried str(allt.som) but cannot determine which attribute calls where each sample has gone...all I would like to know is where samples are being placed in the SOM grids, to make sure that the controls cluster together and exps cluster together. (Also I would eventually like to cluster the genes with SOM and also like to know which genes are clustered in which grids, which is the same problem as I have with the samples).

Thanks in advance,
Ken

>str(allt.som)
List of 16
$ data : num [1:8, 1:22277] 1167 1282 1561 1398 1581 ...

  ..- attr(*, "dimnames")=List of 2
  .. ..$ : chr [1:8] "m577con" "m577exp" "m578con" "m578exp" ...
  .. ..$ : chr [1:22277] "1007_s_at" "1053_at" "117_at" "121_at" ...

$ code : matrix [1:25, 1:22277] 1050 1222 1411 1504 1722 ...
..- attr(*, "class")= chr "matrix"
$ visual :`data.frame': 8 obs. of 3 variables:
..$ x : num [1:8] 0 1 3 2 3 4 2 1 ..$ y : num [1:8] 1 2 0 1 3 3 2 4 ..$ qerror: num [1:8] 6472 8396 7574 7856 6969 ...
$ qerror : num 6e+08
$ init : chr "linear"
$ alpha : chr "inverse"
$ neigh : chr "bubble"
$ topol : chr "hexa"
$ alpha0 : num [1:2] 1 0.5
$ radius0 : num [1:2] 5 3
$ rlen : num [1:2] 16 80
$ xdim : num 5
$ ydim : num 5
$ err.radius: num 1
$ inv.alp.c : num [1:2] 0.16 0.8
$ code.sum :`data.frame': 25 obs. of 3 variables:

..$ x : num [1:25] 0 1 2 3 4 0 1 2 3 4 ...
  ..$ y : num [1:25] 0 0 0 0 0 1 1 1 1 1 ...   ..$ nobs: int [1:25] 0 0 0 1 0 1 0 1 0 0 ... - attr(*, "class")= chr "som"

R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Fri Jun 10 04:41:54 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:32:28 EST