R 如何将样本保存在有效的集群中?
我的datExprSTLMS中有72个样本作为基因表达式数据集,并基于以下代码对此数据集进行了聚类: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"
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