因此,我需要在R中使用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$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中的dummyf1和dummyf2标签,以读取实质上的LABEL1和LABEL2。这是我尝试过的一种可能的解决方案,但没有得到我所需要的:
# 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,但也没能让它工作。有什么建议吗?提前感谢!
发布于 2017-07-19 13:09:11
您必须修改underlying code。它只是将整数附加到变量名称,而不是级别。
解决方法如下所示:
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)https://stackoverflow.com/questions/45180147
复制相似问题