Таблицы частот с взвешенными данными в R

Мне нужно рассчитать частоту индивидуумов по возрасту и семейному положению, поэтому я обычно использую:

    table(age, marital_status)

Однако каждый пользователь имеет другой вес после выборки данных. Как включить это в свою частотную таблицу?

Ответ 1

Вы можете использовать функцию svytable из пакета survey или wtd.table из rgrs.

EDIT: rgrs теперь называется questionr:

df <- data.frame(var = c("A", "A", "B", "B"), wt = c(30, 10, 20, 40))

library(questionr)
wtd.table(x = df$var, weights = df$wt)
#  A  B 
# 40 60

Это также возможно с помощью dplyr:

library(dplyr)
count(x = df, var, wt = wt)
# # A tibble: 2 x 2
#        var     n
#     <fctr> <dbl>
#   1      A    40
#   2      B    60