LEAPS包允许识别子集,并可以返回最佳子集的结果.例如:
library(leaps)
mtcars.regsubsets <- regsubsets(mpg ~ ., data = mtcars)
summary(mtcars.regsubsets, nvmax = 10)
Selection 算法rithm: exhaustive
cyl disp hp drat wt qsec vs am gear carb
1 ( 1 ) " " " " " " " " "*" " " " " " " " " " "
2 ( 1 ) "*" " " " " " " "*" " " " " " " " " " "
3 ( 1 ) " " " " " " " " "*" "*" " " "*" " " " "
4 ( 1 ) " " " " "*" " " "*" "*" " " "*" " " " "
5 ( 1 ) " " "*" "*" " " "*" "*" " " "*" " " " "
6 ( 1 ) " " "*" "*" "*" "*" "*" " " "*" " " " "
7 ( 1 ) " " "*" "*" "*" "*" "*" " " "*" "*" " "
8 ( 1 ) " " "*" "*" "*" "*" "*" " " "*" "*" "*"
摘要中的"*"表示列数的最佳结果.也可以使用特定的测量方法,例如Mlow的CP来找到最佳结果:
which.min(summary(mtcars.regsubsets)$cp)
个
3
这返回了一个结论,即3个变量集合的Mlow‘s CP得分最低.
有没有一种方法可以自动 Select 数据集中的那些列(在本例中为wt、sec和am),以便它只返回包含这三列的新数据集?
mtcars[,c(5,6,8)]
显然,已经判断了LEAPS包的帮助文件,查看了StackOverflow和其他来源,但没有找到解决方案.