首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与因子交互时的交互图标签

与因子交互时的交互图标签
EN

Stack Overflow用户
提问于 2017-07-19 10:52:11
回答 1查看 636关注 0票数 1

因此,我需要在R中使用interplot绘制因子变量的相互作用图。我已经能够弄清楚所有事情,除了其中的一个重要部分:如何更改绘制的因子的标签。下面是一个可复制的示例,说明了这个问题:

代码语言:javascript
复制
set.seed(507)
df <- data.frame(
  outcome = sample(1:7, 1000, replace = T),
  scale = sample(1:7, 1000, replace = T),
  dummy = sample(0:2, 1000, replace = T))

# factor the dummy
df$dummyf <- factor(df$dummy)

# linear model
lm.out <- lm(outcome ~ scale * dummyf, data = df)

# interplot
library(interplot)
interplot(lm.out, "dummyf", "scale", plot = T, hist = F, ci = 0.95)

一旦我绘制了交互,下面是我得到的结果:

现在,我需要能够更改facet中的dummyf1dummyf2标签,以读取实质上的LABEL1LABEL2。这是我尝试过的一种可能的解决方案,但没有得到我所需要的:

代码语言:javascript
复制
# possible solution?
levels(df$dummyf)[levels(df$dummyf) == 1] <- "LABEL1"
levels(df$dummyf)[levels(df$dummyf) == 2] <- "LABEL2"

# linear model
lm.out.1 <- lm(outcome ~ scale * dummyf, data = df)

# interplot
library(interplot)
interplot(lm.out, "dummyf", "scale", plot = T, hist = F, ci = 0.95)

我还试图修改ggplot2的各个方面,因为interplot使用了ggplot2,但也没能让它工作。有什么建议吗?提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2017-07-19 13:09:11

您必须修改underlying code。它只是将整数附加到变量名称,而不是级别。

解决方法如下所示:

代码语言:javascript
复制
library(interplot)
set.seed(507)
df <- data.frame(
  outcome = sample(1:7, 1000, replace = T),
  scale = sample(1:7, 1000, replace = T),
  dummy = sample(0:2, 1000, replace = T))

# factor the dummy
df$LABEL <- factor(df$dummy)
# df$LABEL <- df$dummyf
lm.out.1 <- lm(outcome ~ scale * LABEL, data = df)
interplot(lm.out.1, "LABEL", "scale", plot = T, hist = F, ci = 0.95)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45180147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档