Сгребать совокупные данные в R - PullRequest
0 голосов
/ 21 октября 2018

Я хочу скопировать программу в SAS (rake_and_trim), которая использует raking для получения весов для агрегированного выборочного набора данных (т.е. у меня только предельные итоги для каждой переменной raking в данных выборки).Из того, что я могу сказать, существующие процедуры грабли в R требуют данных на индивидуальном уровне.Я рассмотрел параметры «rake», «calibrate» и «anesrake», но не могу понять, как вводить только предельные итоги для образца.

Вот пример того, как мои агрегированные выборочные данные будут структурированы:

Age_Group   Gender  n   Prev_Obesity
15 - 19      F    1623  22
15 - 19      M    924   24
20 - 24      F    4321  29
20 - 24      M    1776  28
25 - 29      F    4833  33
25 - 29      M    1922  29

Вот пример использования "rake" из пакета опроса:

library(survey)

IПредполагаю, что выборка с равной вероятностью без дизайна выборки

data.svy.unweighted <- svydesign(ids=~1, data=data)

Здесь я указываю предельные итоги для населения (также называемые целью, контролем или ссылкой)

gender.dist <- data.frame(gender = c("1", "2"),
                      Freq = nrow(data) * c(0.45, 0.55)) 

Здесьэто процедура для рейка, и sample.margins вычисляет пол только из фрейма данных индивидуального уровня.Мне бы хотелось, чтобы у меня была возможность вводить выборочные гендерные маргинальные значения, аналогичные тому, как создаются значения pop.margins.

data.svy.rake <- rake(design = data.svy.unweighted,
                  sample.margins = list(~gender),
                  population.margins = list(gender.dist))

Спасибо за любой совет, как это сделать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...