如何为变量的所有值制作回归线?

How do I make a regression line for all values of my variable?

我的剧情:

plot(airbnb$distance_center,airbnb$price,pch=13,xlab="distance_center",ylab="price",bty="n")
mod <- lm(price~number_people+distance_center)

现在我想包括 回归线,显示 price & distance_center - 包括我的变量“number_people”

的所有 6 个特征

我的想法:

abline(mod$coeff[1],mod$coeff[2],lwd=2)
abline(mod$coeff[2],mod$coeff[2],lwd=2)
abline(mod$coeff[3],mod$coeff[2],lwd=2)

不幸的是,我认为这不太正确,我不确定如何迈出正确的一步。有什么想法吗?

您没有 post 您的数据,因此很难准确判断它的结构(“number_people”是数字还是因子?)。在任何一种情况下,您都需要为每个唯一 number_people.

建立一条回归线

我在这里创建了一个与您同名的类似数据集:

mod <- lm(price ~ number_people + distance_center, data = airbnb)

plot(airbnb$distance_center, airbnb$price,
     pch = 13, xlab = "distance_center", ylab = "price", bty = "n")

invisible(sapply(unique(airbnb$number_people), function(x) {
  abline(a = coef(mod)[1] + x * coef(mod)[2], b = coef(mod)[3])
}))


编数据

set.seed(1)

airbnb <- data.frame(
  distance_center = sqrt(runif(100, 0, 10)^2 + runif(100, 0, 10)^2),
  number_people = sample(6, 100, TRUE))
  
airbnb$price <- 50 + airbnb$number_people * 
                50 / airbnb$distance_center + rnorm(100, 0, 5)^2

reprex package (v2.0.1)

于 2022-05-28 创建