R 中的线性回归:警告:'newdata'有 1 行,但找到的变量有 392 行



我试图预测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 )

那么你最初的预测就会奏效。

相关内容

  • 没有找到相关文章

最新更新