0

代码是这里的这个。

altura <- read.table("altura.txt", header=T, quote="\"")
altura <- cbind(altura, altura$Esposa/altura$X.Marido, altura$X.Marido/altura$Esposa)
is.data.frame(altura)
names(altura) <- c("marido","esposa","r1","r2")
with(altura,plot(marido~esposa))
g1 <- lm(altura$esposa~altura$marido)
summary(g1)
abline(g1$coefficients)
abline(0,1,lty=5)
with(altura,plot(esposa~marido))
g2 <- lm(altura$marido~altura$esposa)
summary(g2)
abline(g2$coefficients)
abline(0,1,lty=5)
cor(altura$marido,altura$esposa)

简单的回归线不通过点云。abline 正在使用来自汇总函数的正确截距。这不是第一次发生这种情况。如您所见,在这两个图表中,我都是这个问题。一条线越过这些点,另一条在下方。

4

1 回答 1

3

我想我明白了:您的 g2 模型: g2 <- lm(altura$marido~altura$esposa应该与with(altura,plot(marido~esposa))您一起使用with(altura,plot(esposa~marido))

例如

set.seed(1021)

x <- rnorm(100)
y <- 3*x + rnorm(100)
m1 <- lm(y~x)
plot(y~x)
abline(m1$coefficients)
m2 <- lm(x~y)
abline(m2$coefficients, col = 'red')

你正在绘制你想要黑色的红线,反之亦然。

于 2013-04-12T18:20:32.643 回答