Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么预测功能在R软件中打印输出次数过多?_R_Linear Regression_Predict - Fatal编程技术网

为什么预测功能在R软件中打印输出次数过多?

为什么预测功能在R软件中打印输出次数过多?,r,linear-regression,predict,R,Linear Regression,Predict,我用R程序创建了一个线性模型。我用这个模型预测了一个新的变量。运行模型,它将打印600次预测输出!(数据集中变量的数量)。 代码如下: 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)

我用R程序创建了一个线性模型。我用这个模型预测了一个新的变量。运行模型,它将打印600次预测输出!(数据集中变量的数量)。 代码如下:

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") 
如何只打印一次输出?

应该是:

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

第一个newdata是参数名。第二个newdata是“value”的符号名“给参数赋值。如果不给
newdata
参数赋值,它只会查找默认值,正如我所说的
sports

中的完整案例,
predict
的默认行为是为每个完整案例提供预测。如果那不是你想要的。。。然后阅读帮助页面并学习使用
newdata
参数。为什么在
newdata=data.frame()调用中有
data=sports
?这肯定是错误的。拿出它,你应该会没事的。MrFlick我做了,但仍然有同样的问题。你能做
dput(head(sports))
并将输出粘贴到你的问题中,以帮助我们重现你的问题吗?你需要制作上面的示例,以便我们可以复制/粘贴到R中来查看问题。可能是您的
newdata
data.frame没有您认为的行,或者您指定了一个包含
$
的公式(这是不好的)。无论哪种方式,您都可能遗漏了上面示例中的一些重要内容。它仍然会打印600次输出。我无法复制此问题-
fit@Zapata:您需要向我们显示
str(newdata
>str(newdata)的输出“data.frame”:1个变量中的1个对象:$sepl.Width:num 30它实际上打印的是相同的输出600times@Zapata-听起来不太可能。如果您的
newdata
现在根据
iris
数据集具有
Sepal.Width
,则它不应该返回600个预测。它可能会出错,因为变量不匹配atch或返回iris拥有的150行。我认为您需要开始一个新的R会话,并逐步完成代码。这里有些不对劲。