作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在数据上绘制一条线(例如,拟合回归线或非参数 LOWESS 线)通常很有帮助。同样,当变量被混淆时,绘制 x1, y 数据按 x2 分层通常很有帮助。但是,我不太清楚如何使用 ?coplot 将两者结合起来。 .这在 lattice 中应该是很自然的,但我似乎也无法弄清楚如何在那里做到这一点。
以下提供了一些可供使用的数据:
library(MASS)
set.seed(7422)
X <- mvrnorm(100, mu=c(5,5), Sigma=rbind(c(2.0, 1.9),
c(1.9, 2.0) ) )
x1 <- X[,1]; x2 <- X[,2]
y <- 3 + .6*x1 - .4*x2 + rnorm(100)
m <- lm(y~x1+x2)
summary(m)$coefficients
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 3.8281801 0.4022204 9.517619 1.476519e-15
# x1 0.5466495 0.2060269 2.653292 9.314673e-03
# x2 -0.4835804 0.2139542 -2.260205 2.604451e-02
windows()
pairs(cbind(y, x1, x2))
xs <- seq(1.6, 9.2, by=.1)
windows()
plot(y~x2)
lines(xs, predict(m, data.frame(x1=5.2, x2=xs)), col="blue")
windows()
coplot(y~x2|x1)
## doesn't work (lines on plot were drawn by hand)
# lines(xs, predict(m, data.frame(x1=mean(x1[subscripts], x2=xs)), col="blue")
# lines(lowess(y~x2, subset=x1[subscripts]), col="gray")
x2
的边际图对比
y
,拟合回归线和绘制在数据顶部的边际 LOWESS 线。对于不精通统计学的人来说,这看起来很奇怪。
最佳答案
要做到这一点coplot
,您需要定义自己的面板功能。默认函数是 points
它只是绘制点,但您可以使用简单的函数添加回归线和 Lowess 曲线。
PointsWithReg = function(x, y, pch=20, col=1, ...) {
points(x=x, y=y, col=col, pch=pch, type="p", ...)
abline(lm(y ~ x))
lines(lowess(x=x, y=y), col="blue")
}
coplot(y~x2|x1, panel=PointsWithReg, pch=16)
关于r - 如何在 coplot 中的数据上绘制回归或 LOWESS 线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53233176/
我是一名优秀的程序员,十分优秀!