我有一个 k*4 维度的矩阵,每一行是(1:20,1:20,1:20,1:20)
quadruplet node 的组合和指定类型之一。例如,对于k=3
我有 3 个四面体,这种类型的节点在这里
X <- matrix(c(1, 3, 1 ,4,
2, 5, 6 ,1,
12,20,15 ,3), 3,4,byrow=T)
现在我想从中创建一个暗淡 20*8000 的频率表,记录每个节点与其余三个节点接触的频率。另一方面,我想知道四联体中的每个节点都与哪种类型的节点接触。
例如,对于第一行,我在 F 的 1,(1,3,4)th 以及 3,(1,1,4) 和 4,(1,1,3) 中都有一个。
我希望我能很好地解释我的问题。请帮助我完成此转换的代码
注意:由于我的 X 矩阵的第一行是 1、3、1、4,输出矩阵(F)应该在
F[1,which(colnames(F)=="1 3 4") <- F[1,which(colnames(F)=="1 3 4") +1
F[1,which(colnames(F)=="1 3 4") <- F[1,which(colnames(F)=="1 3 4") +1
F[3,which(colnames(F)=="1 1 4") <- F[3,which(colnames(F)=="1 1 4") +1
F[4,which(colnames(F)=="1 1 3") <- F[4,which(colnames(F)=="1 1 3")+1
这意味着每行将 4 个 1 添加到它的第 4 行中的频率矩阵中,并且它的 2,3 或 4 可能相同。例如因为一个在第一行重复,添加两条记录到 F[1,which(colnames(F)=="1 3 4")