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

如何修改interact_plot()绘图中的mod2变量标签?

问题场景

基于iris数据集构建包含三元交互项的线性回归模型,建模代码如下:

data(iris)
View(iris)

reg <- lm(Sepal.Length ~ Sepal.Width*Petal.Width*Petal.Length, data = iris)

加载interactions包调用interact_plot()绘制三元交互效应图时,传入mod2.labels参数试图将第二个调节变量Petal.Length的标签修改为“Petal Length”,但参数设置未生效,初始绘图代码如下:

library(interactions)

interact_plot(reg, pred = Sepal.Width, modx = Petal.Width, mod2 = Petal.Length, data = iris, x.label = "Sepal Width", y.label = "Sepal Length", legend.main = c("Petal Width"), mod2.labels = c("Petal Length"))
故障原因
  • mod2.labels参数的作用是给第二个调节变量拆分出的分位水平命名,并非设置第二个调节变量本身的名称标签。
  • 对于连续型调节变量,interact_plot()默认会按「均值-1个标准差、均值、均值+1个标准差」拆分为3个水平做分面/分组展示,mod2.labels需要传入和水平数等长的字符向量才能生效,仅传入1个字符串时长度不匹配,参数会被函数直接忽略。
  • 第二个调节变量(mod2)本身的名称标签,需要通过mod2.name参数设置。
修正后代码
library(interactions)

interact_plot(
  reg, 
  pred = Sepal.Width, 
  modx = Petal.Width, 
  mod2 = Petal.Length, 
  data = iris,
  x.label = "Sepal Width", 
  y.label = "Sepal Length", 
  legend.main = "Petal Width",
  mod2.name = "Petal Length", # 该参数控制mod2变量的总标签
  # 如需自定义mod2三个分位水平的显示文本,可传入长度为3的字符向量给mod2.labels
  mod2.labels = c("Low Petal Length", "Medium Petal Length", "High Petal Length")
)

运行后即可看到Petal.Length对应的变量标签正常显示为“Petal Length”。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 12:54:26