【问题标题】:Training Model and then Predicting regressions of grouped variables at once训练模型,然后一次预测分组变量的回归
【发布时间】:2016-05-06 05:58:40
【问题描述】:

我有一个包含许多不同变量分组的数据集。我还有一个测试集,可能或可能没有所有相同的组。

我想要对训练集的每个子集/组进行回归,然后将其应用于测试集中的适当匹配组。

我尝试在 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 中解决这个问题,但我做不到。有什么帮助吗?:(

【问题讨论】:

    标签: r dplyr regression plyr


    【解决方案1】:

    也许使用lapplypredict,像这样:

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

    【讨论】:

    • 是的,我知道这是如何工作的,但是很抱歉,我希望能够保存每个单独的回归模型,并将其应用于具有匹配组的另一个数据集?例如 mtcars_test?
    • 然后在predict之后添加,newdata=mtcars_test
    • 感谢您的支持,但是带有列表的 ddply 东西让我很困惑。我可以通过这种方式得到预测,但似乎是当我调用 do.call(OUTCOME, cbind) 时,我得到一个表格,其中包含回归模型结果的每个组合,而不是相应的结果。例如,如果数据集中的汽车是 VS 和 Am 的 1/1,我将在包含所有 4 种预测组合的表中得到回归输出。无论如何只是一个相应的预测并且全部在 1 列中?我更喜欢 Dplyr 而不是 plyr,因为列表再次让我感到困惑,但我找不到太多关于它的参考
    猜你喜欢
    • 2018-10-04
    • 2018-04-15
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 2017-08-19
    相关资源
    最近更新 更多