r - 为什么 R 更新后 sim_slopes() 中会出现此错误?

标签 r rlang

我正在尝试使用“交互”包来创建简单斜率的约翰逊-尼曼图。但是,当尝试运行“sim_slopes()”函数时,出现以下错误。直到我将R更新到4.2.2,我才没有遇到这个问题。我使用的是 macOS Ventura 13.1。

Error:
! `class` must be a character vector, not a list.
Backtrace:
 1. interactions::sim_slopes(...)
 3. jtools:::summ.glm(...)
 4. jtools:::do_robust(model, robust, cluster, data, vcov)
 5. jtools::get_robust_se(...)
 6. jtools::stop_wrap(...)
 8. rlang (local) `<fn>`(class = <named list>)

下面是我的代码示例,包括可用于测试它的模拟数据集。

#Simulated Dataset
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)

#define model
mod = glm(outcome~predictor*moderator, data=df)#define model

#Load "Interactions" Library to call "sim_slopes()"
library(interactions)
#create jn plot
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)

我已经尝试了在 StackOverflow 上找到的与此事相关的所有内容,因此,如果您对我的具体问题有任何建议,我们将不胜感激。

我已经尝试过:

  • 更新 rlang
  • 更新 jtools
  • 更新两个包的依赖项
  • 重新安装我过去安装的所有软件包
  • 安装和更新 XCode
  • 更新 RStudio
  • 重新启动计算机
  • 检查软件包更新
  • 检查我的计算机上的软件更新

最佳答案

打印 abort_args 变量让我知道我缺少一个名为“sandwich”的包,安装它后,一切正常。

关于r - 为什么 R 更新后 sim_slopes() 中会出现此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75120120/

相关文章:

r - 将包含双引号的文本字符串发送到函数

r - 将列表元素名称作为变量传递给 lapply 中的函数

r - 计算莫兰 I 测试空间自相关的问题

将值随机分配到满足多个标准的不同大小组的数据框/矩阵中

r - dplyr 重命名 - 错误 : `new_name` = old_name must be a symbol or a string, 不是公式

r - 如何测试变量是否包含 lambda 函数?

r - 如何将参数传递给函数内的 dplyr 连接函数?

html - 在 R 中转换 HTML 字符实体编码