无法使用 R 的 kohonen 包引用在 som 分析中聚集的基因
Not able to refer back to genes clustered in som analysis using R's kohonen package
我遇到了一个问题,我正在尝试使用 R 中的 kohonen 包应用 SOM 分析。我使用的数据集是一个基因表达数据框。我正在使用下面给出的代码,
dim(bink)
[1] 401 1198
其中 bink 是一个具有 1198 个基因表达值的数据框,其中基因名称位于如下所示的列中,
剩下的代码如下,
grid <- somgrid(xdim = 5, ydim = 5, topo = "hexagonal")
som.wines <- som(scale(bink), grid = somgrid(xdim = 5, ydim = 5, "hexagonal"))
str(som.wines)
plot(som.wines, type = "mapping")
应用上面的代码后,我得到如下图,
但是我无法获得聚集在每个圆圈中的基因的名称,我尝试使用给定的答案,下面给出了代码,
x= attr(som.wines$data,"scaled:center")
y= attr(som.mines$data,"scaled:scale")
for (i in 1:ncol(som.wines$data)){
z[,i] = som.wines$data[,i][som.wines$unit.classif==1] * y[i]+x[i]
}
然后我收到下面给出的错误,
# Error in 1:ncol(som.wines$data) : argument of length 0
我也尝试过使用 som.wines$data[[1]]
更改访问数据的方式,但它不起作用。
有什么办法可以解决这个问题吗?
谢谢
以data(wines)
为例。
som.wines <- som(scale(wines), grid = somgrid(5, 5, "hexagonal"))
图中的每个大圆圈都是在数据中按行找到的一组样本。
集群的配置文件存储在 som.wines$codes
中。这里的每一行都是一个簇,V1 - Vx。显然,这对应于大圆圈的数量。您在 som.wines$unit.classif
.
中找到关联的行,即原始数据
将集群与您的原始数据相关联
cbind(wines, cluster=som.wines$unit.classif)
图中大圆圈的排列与som.wines$codes
中的数字相对应,左下角的大圆圈为V1
,右上角的大圆圈为Vx
,即最后一个群集。
我遇到了一个问题,我正在尝试使用 R 中的 kohonen 包应用 SOM 分析。我使用的数据集是一个基因表达数据框。我正在使用下面给出的代码,
dim(bink)
[1] 401 1198
其中 bink 是一个具有 1198 个基因表达值的数据框,其中基因名称位于如下所示的列中,
剩下的代码如下,
grid <- somgrid(xdim = 5, ydim = 5, topo = "hexagonal")
som.wines <- som(scale(bink), grid = somgrid(xdim = 5, ydim = 5, "hexagonal"))
str(som.wines)
plot(som.wines, type = "mapping")
应用上面的代码后,我得到如下图,
但是我无法获得聚集在每个圆圈中的基因的名称,我尝试使用给定的答案
x= attr(som.wines$data,"scaled:center")
y= attr(som.mines$data,"scaled:scale")
for (i in 1:ncol(som.wines$data)){
z[,i] = som.wines$data[,i][som.wines$unit.classif==1] * y[i]+x[i]
}
然后我收到下面给出的错误,
# Error in 1:ncol(som.wines$data) : argument of length 0
我也尝试过使用 som.wines$data[[1]]
更改访问数据的方式,但它不起作用。
有什么办法可以解决这个问题吗?
谢谢
以data(wines)
为例。
som.wines <- som(scale(wines), grid = somgrid(5, 5, "hexagonal"))
图中的每个大圆圈都是在数据中按行找到的一组样本。
集群的配置文件存储在 som.wines$codes
中。这里的每一行都是一个簇,V1 - Vx。显然,这对应于大圆圈的数量。您在 som.wines$unit.classif
.
将集群与您的原始数据相关联
cbind(wines, cluster=som.wines$unit.classif)
图中大圆圈的排列与som.wines$codes
中的数字相对应,左下角的大圆圈为V1
,右上角的大圆圈为Vx
,即最后一个群集。