汇总估计 - 带有扫帚和tidyverse的回归模型

时间:2018-02-05 17:39:25

标签: r regression spss broom

我正在与一个团队合作,有些人正在使用SPSS来替换丢失的案例(多重插补),然后分析数据。当SPSS估算新值时,它会报告每个数据集结果和汇总结果,这与所有结果的平均值不同。

现在,我正在使用R来处理在SPSS上创建的“多重插补数据集”。我试图以与SPSS报告相同的方式从回归中获取汇总估计值。恩惠到这篇文章here,我可以使用扫帚包运行几个回归模型并显示每个估计。问题:一些统计数据有所不同。例如,使用扫帚​​时的t值高于SPSS报告的值。 请看一下这个SPSS输出。

enter image description here

为了简化这项工作,假设我想对每个 明星价格进行回归,然后显示汇总估算值(t测试结果和p值)。

代码:

<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>

<body>
  <div id='link'><a href="#.">Always hide</a></div>
  <section class="aufgabenstellung" id="Aufgabenstellung1a">
    text
  </section>
</body>

</html>

如果您想更好地了解SPSS正在做什么,请检查此实际输出。汇集不是所有结果的平均值。 pooled

请随意说这个问题无关紧要,但不要否定这篇文章。其他人可以有相同的问题,我提供所有代码再次运行分析。

非常感谢

1 个答案:

答案 0 :(得分:0)

我并非100%确定你的意思是&#34;汇集&#34;估计 - 这只是意味着您想要在没有分组的情况下运行模型吗?

如果是这样,那么这应该做你想要的。

d <- data.frame(group=rep(1:5, each = 20),
                price=rnorm(100,1000,10),
                stars=rnorm(100,3,1)
               )

fitted_models <- 
    d %>% 
        group_by(group) %>% 
        do(tidy(lm(data=., formula=price ~ stars))) %>%
        ungroup %>%
        mutate(group=group %>% as.character)


pooled_model <-
    d %>%
    do(tidy(lm(data=., formula=price ~ stars))) %>%
    mutate(group='pooled')

all_results <- bind_rows(fitted_models, pooled_model) %>% select(group, everything())

all_results