我正在寻找一个在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))
感谢您提供有关此操作的建议!