r - geom_smooth 在数据子集上

标签 r ggplot2 regression subset

这是一些数据和情节:

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)

enter image description here

正如您所看到的,线性回归受到 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)

enter image description here

关于r - geom_smooth 在数据子集上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17195314/

相关文章:

machine-learning - 机器学习模型不适用于连续数据

regression - 对二元结果变量使用 OLS 回归

r - 按行将函数应用于某些列

r - 当尝试根据聚合数据绘制堆积面积图时,为什么 ggplot geom_area 为空?

javascript - 向工具提示饼图 echarts4r 添加额外变量

r - 我怎样才能在 ggplot 的背景中画一些东西?

r - ggplot散点图中的图例问题

java - 如何使用 Java 将 JSONArray 转换为 R 数据框?

r - ggplot2 在 lapply() 循环内打印两次

R 的 glmnet 抛出 "A and B inner dimensions must match",但他们已经这样做了