这是一些数据和情节:
set.seed(18)
data = data.frame(y=c(rep(0:1,3),rnorm(18,mean=0.5,sd=0.1)),colour=rep(1:2,12),x=rep(1:4,each=6))
ggplot(data,aes(x=x,y=y,colour=factor(colour)))+geom_point()+ geom_smooth(method='lm',formula=y~x,se=F)
正如您所看到的,线性回归受到 x=1 值的高度影响。
我可以为 x >= 2 计算线性回归,但显示 x=1 的值(y 等于 0 或 1)。
除了线性回归之外,结果图将完全相同。他们不会“受到”数值对 abscisse = 1 的影响
最佳答案
就像geom_smooth(data=subset(data, x >= 2), ...)
一样简单.如果此图仅适用于您自己并不重要,但要意识到如果您不提及如何执行回归,这样的事情会误导其他人。我建议更改排除点的透明度。
ggplot(data,aes(x=x,y=y,colour=factor(colour)))+
geom_point(data=subset(data, x >= 2)) + geom_point(data=subset(data, x < 2), alpha=.2) +
geom_smooth(data=subset(data, x >= 2), method='lm',formula=y~x,se=F)
关于r - geom_smooth 在数据子集上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17195314/