【发布时间】:2016-08-25 12:11:14
【问题描述】:
我在excel中有一个相关矩阵如下:
dfA <- read.table(text=
"beta1 beta2 beta3 beta4 beta5 beta6 X X2 X3
beta1 1.0000 -0.2515 -0.2157 0.7209 -0.7205 0.4679 0.1025 -0.3606 -0.0356
beta2 -0.2515 1.0000 0.9831 0.1629 -0.1654 -0.5595 -0.0316 0.0946 0.0829
beta3 -0.2157 0.9831 1.0000 0.1529 -0.1559 -0.4976 -0.0266 0.0383 0.0738
beta4 0.7209 0.1629 0.1529 1.0000 -1.0000 -0.2753 0.0837 -0.1445 0.0080
beta5 0.4679 -0.5595 -0.4976 -0.2753 1.0000 0.2757 0.0354 -0.3149 -0.0596
beta6 -0.7205 -0.1654 -0.1559 -1.0000 0.2757 1.0000 -0.0837 0.1451 -0.0081
X 0.1025 -0.0316 -0.0266 0.0837 -0.0837 0.0354 1.0000 0.0278 -0.0875
X2 -0.3606 0.0946 0.0383 -0.1445 0.1451 -0.3149 0.0278 1.0000 0.2047
X3 -0.0356 0.0829 0.0738 0.0080 -0.0081 -0.0596 -0.0875 0.2047 1.0000",
header=TRUE)
我只有相关矩阵,而不是形成矩阵的原始数据,因此,我尝试使用以下代码将此矩阵读入 R 中的矩阵:
B <- as.matrix(dfA)
但是当我尝试使用以下代码形成散点图矩阵时:
library(corrplot)
corrplot(B, method="circle")
我收到错误
Error in corrplot(B, method = "circle") : The matrix is not in [-1, 1]!
请帮我解决这个问题。
【问题讨论】:
-
我可能误解了,但我认为您正在创建一个由 Excel 制成的相关矩阵图的相关矩阵,它不会飞。您只能使用“整洁”的数据来执行相关矩阵。在这种情况下,整洁意味着您需要独特的观察结果,因为行和 beta1、beta2、beta3... 是您的列。希望这会有所帮助。
-
@BGA 实际上我在 excel 中有一个相关矩阵,所以,我正在尝试从该相关矩阵制作散点图矩阵图。
-
啊。但同样的概念。我相信您仍然需要原始数据来执行散点图矩阵。你没有原始数据了吗?如果可以访问,则很容易将其作为数据框从 csv 或 excel 带入 r。
-
@BGA 我没有原始数据。那么,做散点图就没有希望了吗?
-
此时您只是从十进制数字创建圆圈,而不再是散点图。
标签: r matrix r-corrplot