(R,dplyr)将summarise_all数据放入其自己的数据帧中

时间:2018-12-07 22:50:40

标签: r group-by dplyr

不幸的是,我没有足够的意见要发表评论,但是对于这篇文章中的帮助我还有一个挥之不去的问题:(R, dplyr) select multiple columns starts with same string and summarise mean (90% CI) by group

这是该帖子的工作代码:

dat %>%
    group_by(case) %>%
    select(starts_with('ab')) %>%
    summarise_all(funs('mean' = mean, 'ub' = quantile(., .95), 'lb' = quantile(., .05)))

# # A tibble: 3 x 7
#    case abc_mean abe_mean abc_ub abe_ub abc_lb abe_lb
#   <chr>    <dbl>    <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
# 1 case1      1.5      2.0   1.95   2.90   1.05   1.10
# 2 case2      2.0      2.5   2.90   2.95   1.10   2.05
# 3 case3      2.0      4.0   2.00   4.00   2.00   4.00

我可以将此输出定向到自己的数据帧中吗?我遇到两个问题,首先,它没有打印我的所有数据,而是打印了:

    # A tibble: 2 x 13
  STATION TMPMX1_mean TMPMX2_mean TMPMX3_mean TMPMX4_mean TMPMX5_mean TMPMX6_mean TMPMX7_mean
  <chr>         <dbl>       <dbl>       <dbl>       <dbl>       <dbl>       <dbl>       <dbl>
1 300220        -1.45       -0.13        5.45        12.8        19.3        24.0        26.2
2 303025        -1.77       -0.53        4.92        12.0        18.6        23.2        25.5
# ... with 5 more variables: TMPMX8_mean <dbl>, TMPMX9_mean <dbl>, TMPMX10_mean <dbl>,
#   TMPMX11_mean <dbl>, TMPMX12_mean <dbl>

当我尝试将这些数据放入数据框时,使用前面的示例,它看起来像这样:

df<-dat %>%
group_by(case) %>%
select(starts_with('ab')) %>%
summarise_all(funs('mean' = mean))

但是我收到一个“ group_by”错误,提示“添加缺少的分组变量:'case'”

所以我的问题是(1)如何获取summarise_all以显示所有数据,以及(2)如何将这些数据直接路由到数据帧中。

谢谢!

0 个答案:

没有答案