Я пытаюсь изобразить, как «квадратные футы» дома влияют на «продажную цену (в $ 1000)» того же самого. В частности, я хочу, чтобы линия коэффициента от Квадратных футов против Продажной цены была построена с гипотетической серой областью вокруг линии с наложенными исходными точками данных.
Я пытался завершить это несколькими разными способами. Один из способов, которые я попробовал, - это использовать функцию effect_plot из библиотеки (jtools). Я использовал кодировку, найденную в https://cran.r -project.org / web / packages / jtools / vignettes / effect_plot.html .
Но когда я запускаю эту функцию, я не получаю график, я просто получаю ошибку: Ошибка в FUN (X [[i]], ...): объект 'Sales Price (in $1000)
' не найден.
Второй способ, который я попытался сделать, - вручную создать новый вектор и попытаться построить доверительный интервал. Мой код вдохновляет Построение 95% доверительного интервала для объекта lm .
Но при этом я получаю сообщение об ошибке в строке conf_interval: Ошибка в eval (predvars, data, env): объект "Квадратные футы" не найден. Я не могу понять, как исправить эту ошибку.
И, наконец, я попытался использовать библиотеку (ggplot2) для завершения проблемы с вдохновением от https://rpubs.com/aaronsc32/regression-confidence-prediction-intervals.
Но каждый раз, когда я запускаю R, он создает координатную плоскость с единственной точкой в центре плоскости; нет линии, нет реальных точек, нет гипотетического доверительного интервала. Там нет ошибок, и я также не могу выяснить проблему с кодировкой.
library("jtools")
LRA1 <- lm(`Sales Price (in $1000)` ~ `Square feet` + Rooms +
Bedrooms + Age,data=HomedataSRS) #LRA1 is the regression model
effect_plot(LRA1, pred = 'Square feet', inherit.aes = FALSE,
plot.points = TRUE) #function should create graph
newSF = seq(min(HomedataSRS$`Square feet`),
max(HomedataSRS$`Square feet`), by = 0.05)
conf_interval <- predict(LRA1, newdata=data.frame(x=newSF),
interval="confidence",level = 0.95)
plot(HomedataSRS$`Square feet`, HomedataSRS$`Sales Price (in $1000)`,
xlab="Square feet", ylab="Sales Price(in $1000)",
main="Regression")
abline(LRA1, col="lightblue")
matlines(newSF, conf_interval[,2:3], col = "blue", lty=2)
library(ggplot2)
SFHT <- HomedataSRS %>% select(1:2)
#This is to select the 2 variables I'm working with
ggplot(SFHT, aes(x='Square feet', inherit.aes = FALSE,
y='Sales Price (in $1000)')) +
geom_point(color='#2980B9', size = 4) +
geom_smooth(method=lm, color='#2C3E50')
Данные: