Validation R-检查组分配的一致性,使用不同名称的组标签

Validation R-检查组分配的一致性,使用不同名称的组标签,validation,r,cluster-analysis,ggplot2,mismatch,Validation,R,Cluster Analysis,Ggplot2,Mismatch,我试图在4个独立的癌症基因表达数据集中分配子组成员,依次对每个数据集进行训练,然后在其余三个数据集中测试(基于元基因的)分配,再加上对训练队列本身进行测试 这会为每个样本、每个比较产生组成员身份,并且您可以了解样本稳定性(给定的样本集群每次都在同一个集群中吗?)问题是,组标签可能因比较而异,因此与组标签进行比较不起作用 为了评估样本的稳定性,我认为我需要对每个样本的其他子组成员进行分类,但我还无法概念化我应该如何准确地进行分类 不管它值多少钱,下面的代码应该比我上面描述的更清楚地演示这个问题 感

我试图在4个独立的癌症基因表达数据集中分配子组成员,依次对每个数据集进行训练,然后在其余三个数据集中测试(基于元基因的)分配,再加上对训练队列本身进行测试

这会为每个样本、每个比较产生组成员身份,并且您可以了解样本稳定性(给定的样本集群每次都在同一个集群中吗?)问题是,组标签可能因比较而异,因此与组标签进行比较不起作用

为了评估样本的稳定性,我认为我需要对每个样本的其他子组成员进行分类,但我还无法概念化我应该如何准确地进行分类

不管它值多少钱,下面的代码应该比我上面描述的更清楚地演示这个问题

感谢阅读,并感谢任何帮助

## 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]
###这里我们有12个样本(A-L),除了样本K之外,所有样本都有全等赋值。
##从两个小组作业中,我们可以看到第1组已经变成了第2班的第4组,
##第2组已成为第1组等。
##我们如何使用这些不同的子组标签来评估集群成员资格?

问题很好。谢谢你把问题说得这么清楚。我目前正在对自己进行集群,并将这个问题搁置起来,以便稍后解决

这是一个解决问题的图解方法

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..))
库(ggplot2)
#创建虚拟数据
#在第一种情况下,A和D之间存在完美的换位

d在
e1071
中尝试
matchClasses
,或者
系列化
包中的一些方法可能会有所帮助。您需要完整的双向分类表。

谢谢您的快速回答!这种方法可以很容易地可视化集群匹配,尽管我认为如果我希望以编程方式分配这些组,Hadley的建议会更有用。如果我有足够的声誉,我会投票!这正是我想要的。非常感谢!
# 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..))