更新Anaconda后调用corrplot函数报Method is not a graphical parameter错误
corrplot报错"Method is not a graphical parameter"原因说明
核心原因
你当前R环境中调用的corrplot()并非corrplot包下的同名函数,而是被其他包的同名函数覆盖了,最常见的覆盖来源是psych包:
- psych包同样存在名为
corrplot的可视化函数,其参数列表没有method字段,你传入的method = "pie"会被识别为无效图形参数,触发报错 - Anaconda更新时会自动同步R环境的依赖包,若更新过程中自动安装了psych包、且psych包的加载顺序晚于corrplot包,就会触发函数覆盖问题,原本正常运行的代码就会报错
验证方法
运行命令find("corrplot"),如果返回结果中"package:psych"的排序在"package:corrplot"之前,即可确认是函数覆盖问题
解决方案
- 调用时明确指定包名,修改代码为:
corrplot::corrplot(cor(fattrain[ , 1:18]), method = "pie", type = "lower")
- 临时卸载已加载的psych包:运行命令
detach("package:psych", unload = TRUE)后再运行原代码 - 调整包加载顺序,后续加载包时先加载psych包、后加载corrplot包,即可让corrplot包的函数成为默认调用对象
内容的提问来源于stack exchange,提问作者user12089361
相关产品推荐
相关产品推荐

