2016-08-14 24 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' –