2014-03-13 64 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()之外计算所有这些会比较容易,然后只绘制这些数据。 –