我正在尝试获取一个矩阵,该矩阵对列中存在的所有基因的所有phi系数结果进行错误显示。
我有一个名为ALL的数据框,其结构如下:
Sample Gene Oth
0 A G2 Miss
1 A G3 Non
2 B G1 Non
3 C G4 Miss
我打算获得的是一个像这样的矩阵:
G1 G2 G3 G4
G1 1 phi phi phi
G2 phi 1 phi phi
G3 phi phi 1 phi
G4 phi phi phi 1
其中每个phi是基因出现列值的对应phi系数值。
每个phi值均通过以下公式计算:
n11*n00 - n10-n01
phi = --------------------
sqrt(A*B*C*D)
哪里
y=1 y=0 total
x=1 n11 n10 A
x=0 n01 n00 B
total C D n
n11-> G1和G2都出现的样本数
n10->出现G1但不出现G2的样本数
n01-> G2出现但G1没有出现的样本数
n00-> G1和G2都不出现的样本数
例如,基于此表计算G1和G2的phi系数:
G1 G2 total
G1 0 1 1
G2 1 1 2
total 1 2 n