ggplot

时间:2015-06-28 02:34:24

标签: r ggplot2 confidence-interval

如果您要在同一图表上绘制两组数据,是否有办法获得其中一个数据集而不是另一个数据集的置信区间?例如,回归仅显示数据组A但不显示B,但您仍希望直观地描述A& A的数据。 B在同一图表中,只有重要组A周围的置信区间。

1 个答案:

答案 0 :(得分:3)

您可以有选择地选择要传递给回归绘图仪的数据。

考虑这个例子:

set.seed(10)

#Make sample data
df <- data.frame(
  group=rep(c("A","B"), each=10),
  X = rep(1:10, 2))
df$Y <- 2*df$X + runif(20, -20, 20)  #Create y values with lots of noise

#Reduce the noise for group A
df[df$group == "A", "Y"] <- 2*df[df$group == "A", "X"] + rnorm(10)

#Compare regression p-values
coef(summary(lm(Y ~ X, data=df[df$group == "A", ])))[, 4] #p < 0.05 for group A
# (Intercept)            X 
#1.577943e-01 5.411004e-09 

coef(summary(lm(Y ~ X, data=df[df$group == "B", ])))[, 4] #p > 0.05 for group B
#(Intercept)           X 
#  0.7338232   0.1309030

#Graph all points, coloring by group.  Add a regression line for group A only.
ggplot(df, aes(x=X, y=Y, colour= group)) + theme_bw() + 
   geom_point(size=2.5) + 
   geom_smooth(data = df[df$group == "A",], method="lm")

regression for group A only