dplyr - 总结加权数据 [英] dplyr - summarise weighted data

查看:153
本文介绍了dplyr - 总结加权数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有可能使用 dplyr

summarise 

功能?

让我们想象一下,我想计算加权表

Let us imagine I want to calculate a weighted table

dta = structure(list(PHHWT14 = c(530, 457, 416, 497, 395, 480, 383, 
                       420, 499, 424, 504, 497, 449, 406, 492, 470, 418, 407, 403, 362, 
                       393, 368, 423, 448, 511, 511, 423, 470, 453, 429, 439, 425, 431, 
                       443, 480, 452, 472, 406, 460, 436, 574, 456, 399, 476, 423, 501, 
                       399, 459, 396, 409, 423, 399, 383, 433, 436, 413, 403, 414, 410, 
                       337, 472, 448, 487, 442, 475, 410, 478, 483, 374, 414, 514, 422, 
                       409, 455, 464, 362, 461, 356, 464, 456, 494, 348, 464, 432, 398, 
                       426, 418, 429, 516, 363, 455, 413, 388, 508, 381, 439, 330, 385, 
                       393, 454), SEX = structure(c(2L, 1L, 2L, 2L, 1L, 2L, 2L, 1L, 
                                                    2L, 2L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 
                                                    2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
                                                    2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 
                                                    2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 2L, 2L, 1L, 
                                                    2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 
                                                    2L, 2L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L), .Label = c("Female",  "Male"), class = "factor")), row.names = c(NA, 100L), class = "data.frame", .Names = c("PHHWT14",  "SEX"))

使用xtabs

xtabs(PHHWT14 ~ SEX, dta) 

我会得到

SEX
Female   Male 
10115  33490



有没有办法用重量总结?

Is there a way to use summarise with weights ?

dta %>% 
group_by(SEX) %>% 
summarise(n())

任何想法?

推荐答案

您还可以使用 summarise_each 。对于您的示例,与总结版本相同,但如果您有其他列,您需要总结,这是非常有帮助的。

You can also use summarise_each. For your example that is the same as the summarise version, but if you have additional columns you would like to summarise, it is very helpful.

dta %>% 
  group_by(SEX) %>% 
  summarise_each(funs(sum))
## Source: local data frame [2 x 2]
##
##     SEX PHHWT14
## 1 Female   10115
## 2   Male   33490

这篇关于dplyr - 总结加权数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆