2016-05-06 34 views
0

我有一个包含许多不同变量分组的数据集。我也有一个可能或不可能拥有所有相同组的测试集。训练模型,然后一次预测分组变量的回归

我想要做的是针对火车集的每个子集/组,运行回归,然后将其应用于测试集中的适当匹配组。

我试着开始在Plyr做这个,但是这个包对我来说有点困惑。

library(plyr) 
    data = mtcars # use this as easy example 


    my_regressions = plyr::dlply(mtcars, plyr::.(vs,am),lm,formula= mpg ~ wt+cyl) 

如果我有另一个数据集,我该如何将PREDICT函数应用到相应的组?我尝试在DPlyr中找出这是首选,但我不能。任何帮助:(

回答

1

也许使用lapplypredict,是这样的:

lapply(
dlply(mtcars, .(vs,am), lm, formula = "mpg ~ wt+cyl"), 
predict) 
+0

是的,我明白这是如何工作的,但抱歉,我希望能够保存了每个单独的回归模型buitl和将它应用到另一个数据集与匹配的组?例如一个mtcars_test? – runningbirds

+0

然后'预测'后添加',newdata = mtcars_test' –

+0

我欣赏支持,但ddply与列表的东西混淆了我的地狱。预测这种方式,但它似乎是当我打电话do.call(OUTCOME,cbind)我得到一个表包含每个回归模型结果的组合,而不是相应的一个。例如,如果数据集中的Car是1/1且VS和Am,我将在具有所有4种预测组合的表格中得到回归输出。无论如何只是一个相应的预测和所有1列?我更喜欢Dplyr而不是Plyr,因为列表再次让我感到困惑,但我找不到多少参考 – runningbirds

相关问题