使用Harman23数据集cov变量绘制Correlogram遇报错求助
解决Harman23数据集cov变量绘制相关图的报错问题
问题原因
Harman23.cor是一个列表对象,不是数值矩阵或数据框,直接用cor()处理整个列表会触发参数错误;同时你错误使用了cor()的参数格式,导致出现'y' must be numeric的报错。
正确操作步骤
- 先加载所需包
library(MASS) # Harman23.cor数据集来自这个包 library(ggcorrplot)
- 提取列表中的cov协方差矩阵
harman_cov_matrix <- Harman23.cor$cov
- 将协方差矩阵转换为相关系数矩阵(ggcorrplot需要输入相关系数矩阵)
harman_corr_matrix <- cov2cor(harman_cov_matrix)
- 绘制相关图
ggcorrplot(harman_corr_matrix, type = "lower", lab = TRUE)
错误分析
- 第一个错误
Error in cor(Harman23) : supply both 'x' and 'y' or a matrix-like 'x':你传入的Harman23是列表类型,cor()函数仅支持矩阵、数据框或数值向量作为输入,无法处理列表。 - 第二个错误
Error in cor(Harman23, x = Harman23$cov) : 'y' must be numeric:cor()的参数没有x=这种写法,正确参数为x和y,且你第一个参数传入的是列表(非数值类型),导致函数识别错误。
内容的提问来源于stack exchange,提问作者Yeonari
相关产品推荐
相关产品推荐

