【发布时间】:2015-08-15 10:28:10
【问题描述】:
我有一个包含约 200 个唯一“ID”的主数据框,每个 ID 大约有约 200 个“订单”。我已使用
将主数据框拆分为 200 个单独的数据框list2env(split(df, df$id), envir = .GlobalEnv)
现在,由于每个唯一 ID 有 200 个单独的数据帧,我想创建一个 GLM,我可以在其中获取打印在另一个主数据帧中的每个 ID 的系数和 R^2 值。
所以不要这样做(其中 '1' 到 '200' 是所有的 ID):
test1 <- glm(1$response_var ~ variableA + variableB + variableC, family=gaussian(), data=1)
并在为 200 个 ID 重复此操作的同时手动打印系数,是否可以使用某个函数或某个循环来将所有系数和 R^2 值打印在单个数据框中?
因此,对于此示例,最终结果将是每个 ID 有 200 行,ID、Intercept、Coefficient1、Coefficient2、Coefficient3 和 R^2 有 6 列
【问题讨论】:
-
为什么将数据拆分为单独的 data.frame 变量?在 data.frames 列表上使用
lapply()或者首先使用by()会容易得多。如果您想要工作代码,最好包含reproducible example。
标签: r loops global-variables environment-variables glm