如何使用 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
我使用表示城市名称的分类变量建立了线性回归模型
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