【发布时间】:2014-09-01 15:17:48
【问题描述】:
这是一个非常基本的问题(我是新手...)。我正在尝试使用线性模型测试一个简单的预测,但我似乎没有正确指定输入的数据框。
在调用预测时,我不断收到一条消息,即 newdata 有 12 行但变量有 21 行 - 我认为这是因为未找到输入变量。我看到之前针对单个输入发布的解决方案(建议使用向量而不是数据框),但这似乎无法解决我的问题。非常感谢任何帮助。
################Code is below ######################
# Reading in a csv Text File. Has Headers Quantity, Income, Price and 21 rows of values
CSVData <- read.table("C:/Users/.../CSVInput.txt",header=T,sep=",")
Model=lm(CSVData$Quantity~CSVData$Income+CSVData$Price)
###Creating a new test data set for prediction##################
BindCols1=seq(5,16,by=1)
BindCols2=seq(20,75,by=5)
PredFrame=data.frame(cbind(BindCols1,BindCols2))
colnames(PredFrame) <- c('Income','Price')
colnames(PredFrame)
coef(Model)
pc=predict(Model,PredFrame)
当我运行代码时,我得到一个
"警告消息:'newdata' 有 12 行,但找到的变量有 21 行”
。此外,它不使用新输入(来自 PredFrame)进行预测,而是使用用于拟合模型的数据。
提前感谢您的建议!!!
【问题讨论】:
标签: r input prediction lm