You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R升级至4.2.2后sim_slopes()函数报错问题求助

问题:macOS Ventura 13.1下R 4.2.2调用interactions包sim_slopes()报错! class must be a character vector, not a list.

问题描述

在macOS Ventura 13.1系统、R 4.2.2版本环境下,使用interactions包的sim_slopes()函数生成Johnson-Neyman简单斜率图时,触发错误提示:

! `class` must be a character vector, not a list.

尝试多种常规修复手段后问题仍未解决,需针对性解决方案。

可复现代码

# 模拟数据集
moderator = c(rbinom(100,2,.5))
predictor = c(rnorm(100,2.5,1))
outcome = c(rnorm(100,17,2))
df = data.frame(moderator,predictor,outcome)

# 定义模型
mod = glm(outcome~predictor*moderator, data=df)

# 加载interactions包并生成JN图
library(interactions)
jnplot = sim_slopes(mod, pred = predictor, modx = moderator, jnplot = TRUE)

错误回溯信息

rlang::last_trace()
# <error/rlang_error>
# Error:
# ! `class` must be a character vector, not a list.
# ---
# Backtrace:
#      ▆
# 1. └─interactions::sim_slopes(...)
# 2.   ├─jtools::summ(...)
# 3.   └─jtools:::summ.glm(...)
# 4.     └─jtools:::do_robust(model, robust, cluster, data, vcov)
# 5.       └─jtools::get_robust_se(...)
# 6.         └─jtools::stop_wrap(...)
# 7.           ├─base::do.call(rlang::abort, abort_args)
# 8.           └─rlang (local) `<fn>`(class = <named list>)
# 9.             └─rlang:::validate_signal_args(...)
#  10.               └─rlang:::check_character(class, call = env)
#  11.                 └─rlang:::stop_input_type(x, what, ..., arg = arg, call = call)
#  12.                   └─rlang::abort(message, ..., call = call, arg = arg)

已尝试的解决方法

  • 更新rlang、jtools包至最新版本
  • 重装上述包的所有依赖
  • 卸载并重装所有已安装的R包
  • 安装并更新XCode
  • 更新RStudio至最新版本
  • 重启电脑
  • 检查并更新系统软件

针对性解决方案建议

1. 关闭稳健标准误计算

从错误回溯看,问题触发于稳健标准误计算流程,尝试在调用sim_slopes()时显式关闭稳健标准误:

jnplot = sim_slopes(mod, pred = predictor, modx = moderator, jnplot = TRUE, robust = FALSE)

2. 安装jtools与rlang的兼容版本组合

该错误大概率是jtools与rlang版本不兼容导致(rlang 1.0+对错误信号的参数格式要求更严格,旧版jtools未适配)。可尝试安装兼容的版本组合:

# 卸载当前版本
uninstall.packages(c("jtools", "rlang"))
# 安装指定兼容版本(示例版本,可根据实际情况调整)
install.packages("https://cran.r-project.org/src/contrib/Archive/jtools/jtools_2.2.2.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/rlang/rlang_1.0.6.tar.gz", repos=NULL, type="source")

3. 安装interactions包的GitHub开发版

开发版可能已修复此类兼容性问题:

# 先安装remotes包(若未安装)
install.packages("remotes")
# 安装interactions开发版
remotes::install_github("jacob-long/interactions")

内容的提问来源于stack exchange,提问作者Hannah Wild

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 02:45:15