2017-07-19 78 views
0

所以我需要在R中使用interplot來描繪​​一個因子變量的相互作用。除了其中一個重要部分外,我已經能夠將所有東西都映射出來:如何更改獲取因子的標籤繪製。這裏的顯示問題可複製例如: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) 

一旦我繪製這裏的相互作用是我得到:

enter image description here 現在,我需要能夠改變dummyf1dummyf2標籤的面讀基本上是LABEL1LABEL2。這裏有一個可能的解決辦法我試過但沒有得到我我需要什麼:

# 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,但一直沒能得到它的工作的。有什麼建議麼?提前致謝!

回答

0

您將不得不修改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)