我有一个不完整的长格式方阵,我想填充它以与 ggplot2::geom_raster 一起使用。让我们假设这是一个相关矩阵,其值 (z) 范围为 0 到 1。
df <- data.frame(x=LETTERS[1:3], y=LETTERS[c(3,1,2)], z=c(0,1,-1))
df
输出是
x y z
1 A C 0
2 B A 1
3 C B -1
我可以完成它:
library(tidyr)
complete(df,x , y, fill=list(z=NA))
# A tibble: 9 x 3
x y z
<fctr> <fctr> <dbl>
1 A A NA
2 A B NA
3 A C 0
4 B A 1
5 B B NA
6 B C NA
7 C A NA
8 C B -1
9 C C NA
现在,因为它应该是一个相关矩阵,所以我想填充它,如果我知道 cor(D,A),那么我应该以 cor(A,D) == cor(D,A) 结束。因此,预期结果将是:
# A tibble: 9 x 3
x y z
<fctr> <fctr> <dbl>
1 A A NA
2 A B 1
3 A C 0
4 B A 1
5 B B NA
6 B C -1
7 C A 0
8 C B -1
9 C C NA
我可以做复杂的事情,但也许有一个简单的解决方案......
谢谢