问题上下文
由于我的问题与复杂的分子生物学有关,因此我将使用一个类比来简化这一过程。假设我们有一个树木场,其中的每棵树都具有一组分类上同等重要的特征,例如leaf color
,leaf shape
等。一个农夫将树木分为四组种植,其中一棵由{ {1}}和species x
的三棵树。在数据方面看起来像这样:
species y
Group leaf.color leaf.shape
1 green linear
1 red ovate
1 red linear
1 yellow linear
2 green deltoid
2 green deltoid
2 brown ovate
2 red reniform
类别=绿色,红色,黄色,成年和leaf.color
类别为线性,卵形,三角肌和肾形。农民忘记了哪棵树,但是我们知道的是,大多数数据(3/4)来自leaf.shape
,而1/4来自species y
。为了处理这些数据(更具体地说是我们的分子问题),我们需要定义一些距离。我们选择每个类别的重要性相等,以使每个类别之间的距离为1。我们通过将变量转换为二进制矢量来做到这一点:
species x
我们知道 random.id group leaf.color.yellow leaf.color.red leaf.color.green leaf.color.brown leaf.shape.linear leaf.shape.deltoid
1 1 1 0 0 1 0 1 0
2 2 1 0 1 0 0 0 0
3 3 1 0 1 0 0 1 0
4 4 1 1 0 0 0 1 0
5 5 2 0 0 1 0 0 1
6 6 2 0 0 1 0 0 1
7 7 2 0 0 0 1 0 0
8 8 2 0 1 0 0 0 0
leaf.shape.ovate leaf.shape.reniform
1 0 0
2 1 0
3 0 0
4 0 0
5 0 0
6 0 0
7 1 0
8 0 1
和species x
具有鲜明的特征(在这个不切实际的小例子中显然不突出),因此我们决定应用因子分析来查看哪些特征将两组区分。 在我们的真实数据集中,我们有约15.000个观测值(其中1/4 = x和3/4 = y),每个观测值都有4个类别的49个变量。我们使用species y
包进行了因子分析:
R psych
这将给出几个警告:
fit <- fa(mat, nfactors=1)
尽管如此,结果还是不错的,我们将输入分组(在示例中为1或2)分组,然后选择PA得分最高的树作为树种x。然后我们可以进行检查,因为我们在单独的表格中有确切的物种。这表明我们可以在〜84%的情况下正确地对树木进行“分类”。然后,我在不同的论坛上进行了搜索,以提高针对二进制(或二分法)数据进行因子分析的性能:
问题
考虑到以上数据(对49个二进制变量进行的15.000次观察),假设各组之间的差异足够大,将这种数据分为两组的常用方法是。