2014-03-13 65 views
0

我想將兩行之間的差異添加到ggplot2。 在此示例中,在由x2定義的兩個組的行之間。 這怎麼辦?兩行之間的差異ggplot2

y=rbinom(100,1,.4) 
x1=rnorm(100, 3, 2) 
x2=rbinom(100, 1, .7) 
sub = data.frame(y=y, x1=x1, x2=x2) 

ggplot(sub, aes(x1, y, color = x2)) + 
     stat_smooth(method = "glm", family = binomial, formula = y ~ poly(x1,3)) 

回答

1

您應該在代碼中更改兩件事。首先,stat_smooth()使用xy而不是實際的變量名稱(函數會知道你的x的值是x1)。其次,在factor()內部包裝x2以具有兩種不同的顏色。

ggplot(sub, aes(x=x1, y=y, color = factor(x2))) + 
    stat_smooth(method = "glm", family = binomial, formula = y ~ poly(x,3)) 

enter image description here

+0

親愛Didzis,非常感謝答案。現在,你是否知道如何獲得兩條曲線之間的差異?在綠色和紅色之間(如果可能的話,即使置信區間?
謝謝! –

+0

我認爲在ggplot()之外計算所有這些會比較容易,然後只繪製這些數據。 –