我有一个现成的相关矩阵,可以在R
中使用corrplot
(或其他相关)包进行可视化。我没有原始数据来生成与cor()
函数的相关性。
问题只是从.csv文件导入矩阵并用它执行一些操作(可视化,树枝状图等)。但是,R
无法识别矩阵,因此可以应用corrplot
。我用了
M<-read.csv("myfile.csv")
然后
Mcor <- as.matrix(M)
接下来,我添加了相同的行和列名称:
rownames(Mcor)<-my_cols_names
colnames(Mcor)<-my_cols_names
它显示的结构与“真实”相关矩阵相同,由cor()
的原始数据生成:
> str(Mcor)
num [1:25, 1:25] 1 0.58 -0.43 -0.39 0.06 0.1 -0.3 -0.2 -0.06 -0.3 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:25] "V1" "V2" "V3" "V4" ...
..$ : chr [1:25] "V1" "V2" "V3" "V4" ...
但是,corrplot(Mcor)
给出了
corrplot(Mcor)出错:矩阵不在[-1,1]!
这个问题似乎微不足道,并且在输入数据时出现错字错误:一个数字似乎> 1。
检查此方法的方法,如评论中所示: 1)运行命令
任何(ABS(Mcor)→1)
如果数据中的数字错误(绝对值> 1)
,则为TRUE2)随后尝试绘制较小集合的相关图:
corrplot(Mcor [1:5,1:5])
然后
corrplot(Mcor [1:10,1:10])
直到错误(错误的列)被定位(如果nxn为OK,则无法使用(n + 1)x(n + 1)矩阵构建绘图)。或者直接显示错误的数字,例如,使用 命令