在R中汇总数据

时间:2018-10-21 16:07:15

标签: r

我正在寻找一个在SAS(rake_and_trim)中复制一个程序的方法,该程序使用倾斜度为汇总的样本数据集生成权重(即,我在采样数据中仅具有每个倾斜度变量的边际总数)。据我所知,R中现有的瑞克程序需要个人级别的数据。我已经看过“ rake”,“ calibrate”和“ anesrake”选项,但无法弄清楚如何仅输入样本的边际总数。

这是一个示例如何显示我的汇总样本数据:

    function user_delete($data, $user_refreshToken = false){
    $response = true;
    $data = json_encode($data);
    $user_session = $this->session->userdata('logged_in');

    $url = "https://www.googleapis.com/identitytoolkit/v3/relyingparty/deleteAccount?key=".FIREBASE_KEY."&auth=".$user_session['user_id'];
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    $jsonResponse = curl_exec($ch);
    $tt = json_decode($jsonResponse);
    if(isset($tt->error) && $tt->error =="Auth token is expired" ){
        redirect('login/logout', 'refresh');
    }

         return $jsonResponse;
}

下面是使用调查包中的“ rake”示例:

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

我假设没有抽样设计的等概率抽样

library(survey)

在这里我指定人口的边际总数(也称为目标,对照或参考)

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

这是耙的过程,sample.margins仅根据单个级别的数据帧计算性别。我想要的是能够输入与性别,边距的创建方式相似的样本性别边际。

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

感谢您提供有关此操作的建议!

0 个答案:

没有答案