如何将 lm.augment 输出添加到我的原始数据集

How to add lm.augment output to my original dataset

提问人:Betty888 提问时间:11/1/2023 最后编辑:Betty888 更新时间:11/1/2023 访问量:34

问:

我在 power query 中使用以下 R 代码,它很好地为我提供了我用来标记大型数据集中异常值的学生化残差:

作为输出,我得到了包含列“group”的“df”对象 + 包含学生化残差列的增强输出。

我的目标是获取原始数据集 + 学生化列,以避免有 2 个大表(我原来的表有 20M 行,有 2 个这么大的表不容易...... 非常感谢您的帮助!

    library(tidyverse)
    library(broom)

    dataset <- as.data.frame(dataset)
    dataset$perf <- as.numeric(dataset$perf)
    dataset$factor1 <- as.factor(dataset$factor1)
    dataset$factor2 <- as.factor(dataset$factor2)

    df <- dataset %>%
    group_by(group) %>% 
    mutate(unique_factor1 = n_distinct(factor1), unique_factor1 = n_distinct(factor1), var = 
    var(perf)) %>% 
    filter( unique_factor1 != 1 & unique_factor2 != 1 & var != 0 ) %>%
    do(cbind(group = .$group, lm(perf ~ factor1 + factor2, data = .) %>% augment))

group   perf   factor1  Factor2
1       32         1     1
1       44         1     2
1       58         1     3
1       76         2     1
1       73         2     2
1       37         2     3
1       52         3     1
1       78         3     2
1       60         3     3
2       93         1     1
2       78         1     2
2       25         1     3
2       97         2     1
2       85         2     2
2       60         2     3
2       70         3     1
2       62         3     2
2       95         3     3
r lm

评论


答: 暂无答案