【问题标题】:Error when grouping data with dplyr and survey使用 dplyr 和调查对数据进行分组时出错
【发布时间】:2020-03-04 08:51:50
【问题描述】:

我将 R-packages 调查和 srvyr 与 dplyr 结合使用来分析调查数据。但是,当我尝试计算组的置信区间时(请参见下面的代码),我收到错误 'group_by_drop_default' is not an export object from 'namespace:dplyr'

感谢您提供有关此错误或在一般调查框架中计算组的置信区间的任何帮助。

  as_survey_design(strata = strata, weight  = weight_pers, id= hh_id, nest=TRUE)

out <- strat_design %>%
  group_by(sex, year) %>%
  summarize( var_mean= survey_mean(var1, vartype = "ci"),
            n = unweighted(n()))```

【问题讨论】:

    标签: r dplyr survey


    【解决方案1】:

    您的命令有一些错误。我没有你的数据,所以我将使用调查包中的 apistrat 数据集作为示例。您可以使用它来相应地修改您自己的命令。

    library(survey)
    library(srvyr)
    
    data(api)
    
    out <- apistrat %>%
      as_survey_design(strata = stype, weights = pw) %>%
      group_by(awards) %>%
      summarize( var_mean = survey_mean(api00, vartype = "ci"),
                 n = unweighted(n()) )
    
    out
    

    # A tibble: 2 x 5
      awards var_mean var_mean_low var_mean_upp     n
      <fct>     <dbl>        <dbl>        <dbl> <int>
    1 No         634.         603.         664.    87
    2 Yes        678.         655.         702.   113
    

    【讨论】:

      【解决方案2】:

      不幸的是,您的 dplyr 和 srvyr 版本之间似乎不兼容。

      dplyr 在0.8.1 中引入了该函数,srvyr 在 0.3.6 版本开始依赖它。

      最简单的解决方案是使用 install.packages("dplyr") 更新 dplyr,但如果无法更新,则可以尝试安装旧版本的 srvyr (stackoverflow post on how that would work)

      【讨论】:

      • 谢谢你,成功了。
      【解决方案3】:

      感谢您的回复。您的代码中的“apistrat”到底是什么?是调查设计的数据集吗? 我试图复制这个例子,但仍然得到同样的错误

      Error: 'group_by_drop_default' is not an exported object from 'namespace:dplyr'

      【讨论】:

      • apistrat 是调查包的内置数据集之一。也许开始一个新的 R 然后再试一次。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      • 2022-01-03
      相关资源
      最近更新 更多