如何将样本保持在有效的簇中?
how to keep samples in valid clusters?
我的 datExprSTLMS 中有 72 个样本作为基因表达数据集,运行 基于以下代码对该数据集进行聚类:
new_hclust = hclust(dist(datExprSTLMS), method = "average")
Cutreecluster_Sample <- cutreeDynamic(dendro = new_hclust, minClusterSize = 5,
method = "tree")
然后我得到 table 如下:
table(Cutreecluster_Sample)
Cutreecluster_Sample
0 1 2 3 4
1 24 22 18 7
现在,聚类中 0 的样本是离群值,我想将其从我的数据集中删除。
所以我 运行 下面的代码用于保留所有样本,除了样本在簇 0
keepSamples = (Cutreecluster_Sample==!0)
但是当我 运行 table 进行 keepsamples 时,我看到以下结果:
> table(keepSamples)
keepSamples
FALSE TRUE
48 24
如您在 keepSamples
中所见,我只有 24 个样本而不是 71 个样本。
如果有人在代码级别指导我解决我的问题,我将不胜感激。
将keepSamples = (Cutreecluster_Sample==!0)
更改为keepSamples = (Cutreecluster_Sample!=0)
为什么?从右到左评估您的命令:!0
是 0
的逻辑否定,相当于 R 中的 !FALSE
。因此 !0
等于 TRUE
.然后检查 Cutreecluster_Sample
是否等于 TRUE
。 TRUE
在 R 中强制转换为数字是 1
。因此你的检查实际上是 TRUE
当且仅当样本在簇 1 中,而不是簇 0 中。
尝试 !0 == 1
和 FALSE == 0
。
我的 datExprSTLMS 中有 72 个样本作为基因表达数据集,运行 基于以下代码对该数据集进行聚类:
new_hclust = hclust(dist(datExprSTLMS), method = "average")
Cutreecluster_Sample <- cutreeDynamic(dendro = new_hclust, minClusterSize = 5,
method = "tree")
然后我得到 table 如下:
table(Cutreecluster_Sample)
Cutreecluster_Sample
0 1 2 3 4
1 24 22 18 7
现在,聚类中 0 的样本是离群值,我想将其从我的数据集中删除。 所以我 运行 下面的代码用于保留所有样本,除了样本在簇 0
keepSamples = (Cutreecluster_Sample==!0)
但是当我 运行 table 进行 keepsamples 时,我看到以下结果:
> table(keepSamples)
keepSamples
FALSE TRUE
48 24
如您在 keepSamples
中所见,我只有 24 个样本而不是 71 个样本。
如果有人在代码级别指导我解决我的问题,我将不胜感激。
将keepSamples = (Cutreecluster_Sample==!0)
更改为keepSamples = (Cutreecluster_Sample!=0)
为什么?从右到左评估您的命令:!0
是 0
的逻辑否定,相当于 R 中的 !FALSE
。因此 !0
等于 TRUE
.然后检查 Cutreecluster_Sample
是否等于 TRUE
。 TRUE
在 R 中强制转换为数字是 1
。因此你的检查实际上是 TRUE
当且仅当样本在簇 1 中,而不是簇 0 中。
尝试 !0 == 1
和 FALSE == 0
。