Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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_Purrr_Mumin - Fatal编程技术网

如何测试R中预测变量的所有子集

如何测试R中预测变量的所有子集,r,purrr,mumin,R,Purrr,Mumin,我希望以编程方式在r中构建glms,类似于这里所描述的,只是测试所有可能的预测变量子集 对于这样的数据集,结果变量z: 是否有一种自动构建模型的方法: m1 <- glm(z ~ a, data = data) m2 <- glm(z ~ b, data = data) m3 <- glm(z ~ c, data = data) m4 <- glm(z ~ a + b, data = data) m5 <- glm(z ~ a + c, data = data) m

我希望以编程方式在r中构建glms,类似于这里所描述的,只是测试所有可能的预测变量子集

对于这样的数据集,结果变量z:

是否有一种自动构建模型的方法:

m1 <- glm(z ~ a, data = data)
m2 <- glm(z ~ b, data = data)
m3 <- glm(z ~ c, data = data)
m4 <- glm(z ~ a + b, data = data)
m5 <- glm(z ~ a + c, data = data)
m6 <- glm(z ~ b + c, data = data)
m7 <- glm(Z ~ a + b + c, data = data)
我知道MuMIn包的疏通函数可以做到这一点,但是我得到一个错误,说我包含了太多的变量,所以我正在寻找独立于疏通函数的方法。我尝试了grid.expand和combn、map和lapply等我在StackOverflow上找到的答案的变体,但似乎无法将它们组合在一起。理想情况下,模型输出(包括BIC)将存储在可排序的数据帧中


任何帮助都将不胜感激

假设您注意到@Maurits Evers的评论,您可以通过lapply和combn的组合实现您想要做的事情


从统计学的角度测试所有可能的预测变量子集,这是一个非常危险的游戏。我建议不要那样做;相反,我建议研究特征选择方法。我当然同意!我试图在R中复制的代码最初是由其他人为Eviews编写的,如本文所述。感谢您提供有关功能选择的提示!我当然会考虑到这一点,因为我正试图了解他们做了什么。如果他们真的这样做了,因为报纸是收费的,我会尽量远离它。我不知道SDA会做什么,但一般来说,为了回答您的问题,一个好的方法是对一切进行建模,例如在完全贝叶斯模型中,并对参数使用正则化先验。
m1 <- glm(z ~ a, data = data)
m2 <- glm(z ~ b, data = data)
m3 <- glm(z ~ c, data = data)
m4 <- glm(z ~ a + b, data = data)
m5 <- glm(z ~ a + c, data = data)
m6 <- glm(z ~ b + c, data = data)
m7 <- glm(Z ~ a + b + c, data = data)
cols <- names(data)[-1]
lapply(seq_along(cols), function(x) combn(cols, x, function(y) 
       glm(reformulate(y, "z"), data = data), simplify = FALSE))