如何使用 R 中的分组自变量预测线性回归?

How to use predict for linear regression using grouped independent variables in R?

我使用表示城市名称的分类变量建立了线性回归模型

library(Rcpp)
library(lme4)

area_csv <- read.csv2('Data/Area.csv')
#area_csv$Value <- as.numeric(area_csv$Value)

py <- read.csv2('Data/Predict_data.csv')

obyem_per_capita_model <- lmList(Value ~ APP * Population | City, data = area_csv)
summary(obyem_per_capita_model)

r_squareds <- summary(obyem_per_capita_model)$r.squared
predictions <- predict(obyem_per_capita_model,newdata = py, asList = TRUE)

#
write.csv2(predictions,'Vvodimoe_Predictions.csv')

但是当我尝试对包含所有必要自变量的新数据集使用预测时,我收到此错误:

Error in predict.lmList4(obyem_per_capita_model, newdata = py, asList = TRUE) : 
  nonexistent group in 'newdata'

area_csv 中的列如下所示:
城市 |年份 |资讯 |价值 |状态 |人口 | APP

py 中的列如下所示:
城市 |年份 |人口 | APP

我尝试了 Roland 建议的检查:

all(py$City %in% area_csv$City)

它返回了 FALSE。谢谢你,罗兰! :D

然后我用setdiff找了不同点:

setdiff(py$City, area_csv$City)

然后,我更正了拼写错误(删除了差异,即预测数据中不存在的水平)并且成功了! :D 万岁! :D 谢谢大家! :D