R 如何将样本保存在有效的集群中?

R 如何将样本保存在有效的集群中?,r,hierarchical-clustering,R,Hierarchical Clustering,我的datExprSTLMS中有72个样本作为基因表达式数据集,并基于以下代码对此数据集进行了聚类: new_hclust = hclust(dist(datExprSTLMS), method = "average") Cutreecluster_Sample <- cutreeDynamic(dendro = new_hclust, minClusterSize = 5, method = "tree"

我的datExprSTLMS中有72个样本作为基因表达式数据集,并基于以下代码对此数据集进行了聚类:

new_hclust = hclust(dist(datExprSTLMS), method = "average")
Cutreecluster_Sample <- cutreeDynamic(dendro = new_hclust, minClusterSize = 5,
                                          method = "tree")
现在,cluster by 0中的sample是离群值,我想从我的数据集中删除它。 因此,我运行下面的代码来保留除集群0中的样本之外的所有样本

keepSamples = (Cutreecluster_Sample==!0)
但当我运行表查找纪念品样本时,我看到以下结果:

> table(keepSamples)
    keepSamples
    FALSE  TRUE 
     48    24 
正如您在
keepSamples
中看到的,我只有24个样本,而不是71个样本。
如果有人在代码级别指导我解决问题,我将不胜感激。

keepSamples=(Cutreecluster\u Sample==!0)
更改为
keepSamples=(Cutreecluster\u Sample!=0)

为什么??从右到左评估命令:
!0
0
的逻辑否定,相当于
!R中为FALSE
。因此
!0
等于
TRUE
。然后检查
Cutreecluster\u Sample
是否等于
TRUE
<代码>真强制为数字在R中是
1
。因此,您的检查实际上是
iff样本在簇1中,而不是簇0中


试试
!0==1
FALSE==0

谢谢亲爱的@Alanocalaghan。我还有更多的问题。假设我想选择集群1和2中的样本。那么我的“纪念品”代码是什么呢?如果答案对你有帮助,我会做
随时接受
> table(keepSamples)
    keepSamples
    FALSE  TRUE 
     48    24