排序dplyr :: summarize的输出

时间:2016-07-29 21:04:24

标签: r sorting dplyr stata

我的数据如下:

(sassign是保存数据的data.frame)

head(sassign %>% select(child,youth,cook,do_it))
  child youth cook do_it
1     3     2    2     0
2     0     1    0     1
3     0     0    2     0
4     0     0    0     0
5     0     0    1     0
6     0     1    0     0

我的目标是找到购买儿童书籍,青少年书籍,烹饪书籍和do_it书籍的人数。

所以,这就是我的所作所为:

sassign %>%  summarise( sumchild=sum(child),sumyouth=sum(youth),sumcook=sum(cook),sumdo_it=sum(do_it)) 

这是我得到的输出:

  sumchild sumyouth sumcook sumdo_it
1    42723    19549   46830    23153

问题1 ::这解决了我的目的,但无论如何我可以得到一个按列排序的输出?这是我从Stata得到的:

    --------------------------------------------------------------
    | Total Std. Err. [95% Conf. Interval]
    -------------+------------------------------------------------
    cook | 46830 265.0706 46310.46 47349.54 
   child | 42723 250.4739 42232.07 43213.93
    do_it | 23153 171.2552 22817.34 23488.66
    youth | 19549 152.7226 19249.66 19848.34

如上所示,STATA输出从上到下排序很好。

问题2 ::无论如何我还可以包含SD,而CI作为STATA显示吗?

问题3 ::无论如何,我可以对SD进行排序,或者在R中对CI进行排序而不是总和?我看了描述功能,但我不确定,所以我想在这里问他们。

我正在从Stata过渡到R,所以如果能得到任何帮助,我将不胜感激。我还查看了SO上的其他帖子,但是大多数帖子都在处理使用group_by时的排序。

由于

1 个答案:

答案 0 :(得分:3)

您可以使用lapply循环访问数据,计算统计数据,将它们放入数据框然后再绑定它们,排序部分可以使用{{1}中的arrange函数完成}}:

dplyr