我正在尝试在4个独立的癌症基因表达数据集中分配子组成员资格,依次训练每个数据集,然后测试其余三个中的(基于metagene的)分配,以及对训练队列本身的测试。
这会为每个样本生成组成员资格,对于每次比较,您可以了解样本的稳定性(每次在同一个集群中给定的样本集群吗?)问题是组标签可能与对比不同,因此与组标签进行比较是行不通的。
为了评估样本的稳定性,我认为我需要为每个样本编写其他小组成员的目录,但我无法概念化我应该如何做到这一点。
为了它的价值,下面的代码应该比我上面描述的更清楚地证明问题。
感谢阅读,感谢任何帮助!
## Here we have 12 samples (A-L), all of which have congruent assignments, except sample K.
## From the two group assignments, we can see that group 1 has become group 4 in class2,
## group 2 has become group 1 etc. etc.
## How do we assess cluster membership with these differing subgroup labels?
class1<-c(1,2,3,4,1,2,3,4,1,2,3,4)
class2<-c(4,1,2,3,4,1,2,3,4,1,3,3)
names(class1)<-LETTERS[1:12]
names(class2)<-LETTERS[1:12]
答案 0 :(得分:4)
在matchClasses
中尝试e1071
,或seriation
包中的某些方法可能有所帮助。你需要完整的双向分类表。
答案 1 :(得分:3)
好问题。感谢您如此清楚地构建问题。我正在努力将自己聚集在一起,然后把这个问题停下来解决。
这是解决问题的图解方式。
library(ggplot2)
# Create dummy data
# In the first instance, there is perfect transposition between A and D
d <- data.frame(
clust1 = LETTERS[rep(1:4, 3)],
clust2 = LETTERS[rep(c(4,1,2,3), 3)]
)
ggplot(d, aes(x=clust1, y=clust2)) + geom_point(stat="sum", aes(size=..n..))
# Now modify data so that there is a single instance of imperfect matching
d$clust2[1] <- "A"
ggplot(d, aes(x=clust1, y=clust2)) + geom_point(stat="sum", aes(size=..n..))