我有一个相关性数据框,看起来像这样(尽管我的真实数据中有大约 15,000 行)
phen1<-c("A","B","C")
phen2<-c("B","C","A")
cors<-c(0.3,0.7,0.8)
data<-as.data.frame(cbind(phen1, phen2, cors))
phen1 phen2 cors
1 A B 0.3
2 B C 0.7
3 C A 0.8
Run Code Online (Sandbox Code Playgroud)
这是在外部创建并读入 R 中,我想将此数据框转换为相关矩阵,其中 phen1 和 2 作为该矩阵的行和列的标签。我只为下三角形或上三角形计算过这个,我没有对角线的 1。所以我希望最终结果是一个完整的相关矩阵,但第一步可能是创建下/上三角形,然后转换为我认为的完整矩阵。我不确定如何做这一步。
此外,结果可能不是直观的顺序,但我不确定这是否重要,但理想情况下我想要一种方法来做到这一点,它使用 phen1 和 phen 2 中的标签来确保矩阵具有正确的值在正确的地方,如果这有意义吗?
基本上为此,我想要这样的结果作为最终结果:
A B C
A 1 0.3 0.8
B 0.3 1 0.7
C 0.8 0.7 1
Run Code Online (Sandbox Code Playgroud)