我正在尝试在R中创建一个简单的for循环,但我不确定如何在不创建全局变量的情况下进行此操作。
我试图整齐地输出一个预测表,而不是通过我希望预测的许多不同实例(如下所示)运行代码。
house1 = newdata[1,]
predict(fullmodel, house1)
predict(sqftmodel, house1)
predict(bestmodel, house1)
house2 = newdata[2,]
predict(fullmodel, house2)
predict(sqftmodel, house2)
predict(bestmodel, house2)
house3 = newdata[3,]
我想使用for循环来运行37个不同的房子,并在表格中输出。有什么想法吗?
编辑:到目前为止,这是我代码的一部分
data = read.table("DewittData.txt")
newdata = na.omit(data)#28 points to refer to
colnames(newdata) = c("ListPrice", "Beds", "Bath","HouseSize","YearBuilt"
,"LotSize", "Fuel","ForcedAir", "Other","FM","ESM","JD",
"SchoolDistrict","HouseType","GarageStalls","Taxes")
attach(newdata)
fullmodel = lm((ListPrice) ~ HouseSize + Beds + Bath + YearBuilt + LotSize
+ Fuel + ForcedAir + Other + SchoolDistrict+
HouseType + Other + FM + ESM + JD + GarageStalls + Taxes)
bestmodel = lm(ListPrice~Beds)
sqftmodel = lm(ListPrice~HouseSize, data = newdata)
更新
我明白了,所以我把它改成了
predict(fullmodel, newdata[,])
predict(sqftmodel, newdata[,])
predict(bestmodel, newdata[,])
现在我将如何以表格格式输出?
答案 0 :(得分:1)
我不确定我是否得到了您的问题,但我会根据=COUNTIF(B:B,A1)=1
的不同行进行预测。
df
通常,坚持使用矢量比使用循环要好得多。