如何在R中声明for循环

c7rzv4ha  于 2023-05-26  发布在  其他
关注(0)|答案(1)|浏览(108)

我试图在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[,])

现在我该如何以表格的形式输出呢?

xdnvmnnf

xdnvmnnf1#

我不确定我是否理解你的问题,但这是我根据df的不同行进行预测的方法。

Housefull <-  predict(fullmodel, newdata[,])
Housebest <-  predict(bestmodel, newdata[,])
Housesqft <-  predict(sqftmodel, newdata[,])

一般来说,使用向量比使用循环要好得多。

相关问题