我试图预测R中的一个变量,我尝试了所有的方法,但仍然没有结果。
我正在使用Auto数据,我建立了一个类似的模型
my_acc<-auto_df$acceleration
my_horse<-auto_df$horsepower
mydata <- data.frame(my_acc, my_horse )
car_linear_regression <- lm(my_acc ~ my_horse, mydata )
然后我继续,我想预测以下内容:
预测的acceleration
与93.5的horsepower
相关联是什么?相关的99%置信度和预测区间是多少?
我使用以下代码,我得到一个警告
警告:"newdata"有1行,但找到的变量有392行
而且还打印出数据帧中的所有行,而我只能返回一行。
有人能帮忙吗?
predict(car_linear_regression,newdata = data.frame(horsepower = 93.5))
这将有助于使示例可复制,但我做了一些工作,能够复制错误:
library(ISLR)
auto_df = Auto
my_acc<-auto_df$acceleration
my_horse<-auto_df$horsepower
mydata <- data.frame(my_acc, my_horse )
car_linear_regression <- lm(my_acc ~ my_horse, mydata )
predict(car_linear_regression,newdata = data.frame(horsepower = 93.5))
问题是在您的模型中没有一个名为horsepower
的变量。您称之为my_horse
,因此以下内容有效:
predict(car_linear_regression,newdata = data.frame(my_horse = 93.5))
附带说明一下,与其创建单独的变量,我只将回归模型称为:
car_linear_regression <- lm(acceleration ~ horsepower, data=auto_df )
那么你最初的预测就会奏效。