ggplot 的置信区间
Confidence intervals for ggplot
如果您有两组数据要绘制在同一张图上,有没有什么方法可以只获取其中一个数据集的置信区间,而不获取另一个数据集的置信区间?例如,回归仅对数据组 A 显示显着,但对数据组 B 不显着,但您仍希望在同一图表中直观地描述 A 和 B 的数据,并且仅在显着组 A 周围设置置信区间。
您可以有选择地选择要传递给回归绘图仪的数据。
考虑这个例子:
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")
如果您有两组数据要绘制在同一张图上,有没有什么方法可以只获取其中一个数据集的置信区间,而不获取另一个数据集的置信区间?例如,回归仅对数据组 A 显示显着,但对数据组 B 不显着,但您仍希望在同一图表中直观地描述 A 和 B 的数据,并且仅在显着组 A 周围设置置信区间。
您可以有选择地选择要传递给回归绘图仪的数据。
考虑这个例子:
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")