【发布时间】:2013-12-11 21:25:54
【问题描述】:
我使用 R 中的 effects 包来生成漂亮的效果图。当我的模型中的一个预测变量是一个因子时,该图使用因子标签作为轴刻度标签。在某些情况下,这并不理想,因为可能会缩短因子名称以便于在 Anova 显示中键入和查看,但我想要一个更易读的绘图标签。
我尝试使用plot 的transform.x 参数,但文档说这仅适用于“数字预测变量”,实际上它似乎不起作用(对显示的标签没有影响)。
我特别不想更改因子级别名称本身(即更改数据),因为我有其他原因希望它们保持现状。我只想影响绘图显示,而不是模型本身。
我想要的是能够指定预测因子的因子水平和用作这些因子水平的轴刻度标签的字符串之间的映射。我怎样才能做到这一点?
这是一个简单的例子:
library(effects)
A = rnorm(100)
B = rnorm(100)
C = factor(rep(c("This", "That"), 50))
model = lm(A~B*C)
plot(effect("B:C", model), x.var="C")
这会产生这个情节:
effect plot http://snag.gy/5mTkJ.jpg
我希望能够将 x 轴刻度标签“This”和“That”更改为我想要的任何内容,而无需更改向量 C 中的实际因子级别名称。
【问题讨论】:
-
也许reproducible example 会有所帮助...
-
@gung:好的,我加了。
-
@BrenBarn 我认为你不能在不改变因子水平的情况下改变轴标签。它是硬编码的。
-
@agstudy:真的吗?真恶心。好吧,我想这就是“答案”。