Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.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 带BIC的正向程序_R - Fatal编程技术网

R 带BIC的正向程序

R 带BIC的正向程序,r,R,我试图用正向逐步算法和BIC准则为线性模型选择变量。正如帮助文件所示,正如我一直所做的那样,我写了以下内容: model.forward<-lm(y~1,data=donnees) model.forward.BIC<-step(model.forward,direction="forward", k=log(n), scope=list(lower = ~1, upper = ~x1+x2+x3), data=donnees) 我以前从未真正问过自己这个问题,但我认为n应该在函数

我试图用正向逐步算法和BIC准则为线性模型选择变量。正如帮助文件所示,正如我一直所做的那样,我写了以下内容:

model.forward<-lm(y~1,data=donnees)
model.forward.BIC<-step(model.forward,direction="forward", k=log(n), scope=list(lower = ~1, upper = ~x1+x2+x3), data=donnees)
我以前从未真正问过自己这个问题,但我认为
n
应该在函数
步骤中定义(它是每次迭代时模型中变量的数量)。。。。不管怎样,这个问题以前从未发生在我身上!重新启动R不会改变任何事情,我承认我不知道是什么导致了这个错误

下面是一些要测试的代码:

y<-runif(20,0,10)
x1<-runif(20,0,1)
x2<-y+runif(20,0,5)
x3<-runif(20,0,1)-runif(20,0,1)*y
donnees<-data.frame(x1,x2,x3,y)
y
或者更一般地说

... k=log(nobs(model.forward)) ...

(例如,如果您的数据中有
NA
值,那么
nobs(model.forward)
将不同于
nrow(donnees)
。另一方面,如果您的预测值中有
NA
值,您无论如何在进行模型选择时都会遇到麻烦。)

错误,你让我意识到我错了n的意思。。。我以为这是模型中变量的数量,但我被REML混合模型的估计搞混了。你说得对,非常感谢!我仍然想知道为什么n在使用时不起作用。
step(model.forward,direction="forward", 
         k=log(nrow(donnees)), scope=list(lower = ~1, upper = ~x1+x2+x3), 
         data=donnees)
... k=log(nobs(model.forward)) ...