如何解决ggpairs中wrap函数的unused argument错误?
修复ggpairs中wrap传递method参数报错的问题
问题重现
此前可正常运行的代码:
ggpairs(df_scatterplot, columns = c(2:5, 14), lower = list(continuous = wrap("smooth", method = "lm")) )
近期运行时出现报错:
Error in wrap("smooth", method = "lm") : unused argument (method = "lm")
移除wrap相关代码后可正常运行,但无法显示趋势线。
修复方案
修改wrap()的参数传递方式,将method等底层绘图参数放入args列表中:
ggpairs(df_scatterplot, columns = c(2:5, 14), lower = list(continuous = wrap("smooth", args = list(method = "lm"))) )
如果需要使用loess方法,只需修改args中的method值即可:
ggpairs(df_scatterplot, columns = c(2:5, 14), lower = list(continuous = wrap("smooth", args = list(method = "loess"))) )
原因说明
GGally包版本更新后,wrap()函数的参数逻辑发生了变化。旧版本中可以直接将geom_smooth的参数传递给wrap,新版本要求必须通过args列表来传递这些底层绘图函数的参数,否则会触发"unused argument"错误。
内容的提问来源于stack exchange,提问作者Tathagato
相关产品推荐
相关产品推荐

