[R] Help with SOM membership
Ken Termiso
jerk_alert at hotmail.com
Thu Jun 9 20:36:58 CEST 2005
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"
More information about the R-help
mailing list