我正試圖在R中創建一個簡單的for循環,但我不確定如何在不創建全局變量的情況下去做這件事。如何聲明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[,])
現在我將如何輸出這在表格格式?
解決你的問題的一種方法是建立你的功能。或者可以使用「應用」功能。 – Alice
您可以直接將整個數據框傳遞給'predict()',不需要逐行傳遞行 –
@BeginnerJava使用'dput'來創建一個可重複使用的數據集示例。 – Masoud