2016-08-14 23 views
-1

我用R程序創建了一個線性模型。我已經預測了一個使用該模型的新變量。運行該模型,它將打印預測輸出600次! (我們在數據集中擁有的變量的數量)。 以下是代碼:爲什麼預測功能在R軟件中打印出太多次?

load(sports) 
summary (sports) 
ls(sports) 
fit = lm(sport_score ~ sport_votes + sport_rating , data = sports) 
summary(fit) 

newdata = data.frame(sport_vote = 80, sport_rating = 7.7) 

predict(fit, newdata, interval="predict") 

如何才能打印輸出一次?

+0

predict'的'默認行爲是給你的每一個完整的案例進行預測。如果這不是你想要的...然後閱讀幫助頁面,並學會用'newdata'說法。 –

+1

爲什麼你在'newdata = data.frame()'調用中有'data = sports'嗎?這肯定是不正確的。把它拿出來,你應該沒問題。 – MrFlick

+0

MrFlick我做到了,仍然有同樣的問題 – Zapata

回答

1

它應該是:

predict(fit, newdata=newdata, interval="predict") 

第一newdata是參數名稱。第二個新數據是賦給參數的'value'的符號名稱 如果您沒有給 newdata參數賦值,它只會查找默認值,正如我所說的那樣,這是默認值 sports

+0

仍然打印輸出600次。 – Zapata

+3

我無法複製這個問題 - 'fit < - lm(Sepal.Length〜Sepal.Width,data = iris); newdata < - data.frame(Sepal.Width = 30);預測(fit,newdata,interval =「pred」)'工作正常。 – thelatemail

+1

@Zapata:你需要向我們展示了海峽的'輸出(newdata' –