【问题标题】:formal argument "ylab" matched by multiple actual arguments由多个实际参数匹配的形式参数“ylab”
【发布时间】:2019-09-22 17:53:18
【问题描述】:

我正在尝试向我的 Y 轴添加标签。但我不知道在这种情况下如何处理。

inter <- interactionMeans(m2)
inter
plot(inter, traces=c("Sentence", "DV"), ylab="Probability of approval")

我收到了错误

 formal argument "ylab" matched by multiple actual arguments

plot without "ylab=..."

require(lme4)
library(phia)
require(tables)

m2 <- glmer(value ~ Sentence + DV + (Sentence * DV | lfdn) + (Sentence *  DV | le_nr), data = dw_1,
        family = binomial, control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun=1e8)))

inter <- interactionMeans(m2)
inter
plot(inter, traces=c("Sentence", "DV"), ylab="Probability of approval")

错误:

Fehler in matplot(means, type = type, pch = pch, axes = FALSE, xlab = "",  : 
  formales Argument "ylab" passt zu mehreren gegebenen Argumenten

【问题讨论】:

  • 感谢您提供代码,但我们提供的帮助还不够。 interactionMeans 在什么包中?变量m2 是什么?我们现在无法运行您的代码。如果不能给我们展示m2,有没有小例子可以展示?
  • 运行代码时遇到的错误是您问题的标题吗?如果您以您遇到的问题的摘要为问题命名,然后将错误输出添加到您的问题中,这将更有帮助。谢谢!
  • @d.b:你的意思是这样吗? names(attributes(inter)[[1]]$dim) = "Probability of approval" plot(inter, traces=c("Sentence", "DV") 这不起作用
  • 问题源于包本身在绘图阶段设置ylab = ...这一事实。解决此类问题的唯一真正方法是覆盖 plot 对象的 plot 方法或计算它如何命名 ylab,并尽可能覆盖此值。通常情况下,实现根本没有这个选项。 (即使 Fox, J. 的 car 包在他的许多情节中都没有这个功能!)
  • 感谢您改进您的问题 +1

标签: r plot


【解决方案1】:

您收到错误的原因是 plot.interactionMeans() 不包含 ylab 参数。这是可以理解的,因为 y 标签只是原始模型中 IV 的名称,如果您想更改它们的名称,您可以在那里进行。但是,如果您想在 y 轴标签下方的下边距添加标题,这似乎是您想要的,那么您可以使用 mtext() 轻松做到这一点。比缺少的ylab 更令人沮丧的是,他们对绘图边距 (par(c("mar", "oma"))) 进行了硬编码,因此对于狭窄的空间几乎没有什么可做的。

library(phia)

data(Adler)
mod.adler <- lm(rating ~ instruction * expectation, data=Adler)
means.adler <- interactionMeans(mod.adler)

plot(means.adler, abbrev.levels=TRUE)
mtext("Experimenter pre-conditioning", 1, at=par("usr")[1])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    • 2014-07-18
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多