提问人:Betty888 提问时间:11/1/2023 最后编辑:Betty888 更新时间:11/1/2023 访问量:34
如何将 lm.augment 输出添加到我的原始数据集
How to add lm.augment output to my original dataset
问:
我在 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
答: 暂无答案
评论