按列子集数据并在该数据框上运行模型

时间:2012-08-24 19:07:09

标签: r plyr

我正在尝试使用列名和变量重要性对数据框进行子集化。我想训练一个模型,并在五个批次中测试所有变量的结果。我可以使用for loop编写此脚本,但无法找到类似plyr的解决方案。我还希望能够将所有结果存储在单个数据框或列表中,然后我可以使用它来分析结果。

这是我到目前为止的代码:

library('plyr')
library('FSelector')
data(iris)
wts.chisq.iris <- chi.squared(Species ~ ., data = iris) # chi sq importance
wts.chisq.iris$attr <- rownames(wts.chisq.iris)                   # add column with variable names
wts.chisq.iris <- wts.chisq.iris[with(wts.chisq.iris, order(-attr_importance)), ]  # sort descending by variable importance

for (i in 1:4){
    print(lm(Species ~., data = iris[ , c(wts.chisq.iris[1:i, 2], "Species")]))  # store this in a list or df

}

感谢您的帮助。

编辑:我使用caret读取了许多其他解决方案,但我仍然无法存储所有模型并运行数据框的特征子集(变量)。

0 个答案:

没有答案