如何使用调查包中的svyby从加权数据中创建具有多个标准子群的列联表?

时间:2016-04-12 15:01:47

标签: r survey contingency

我正在使用一个包含数千个观测值和数千个变量的大型联邦数据集。提供重复权重。我正在使用"调查"在R中打包以应用这些权重:

els.weighted=svrepdesign(data=els, repweights = ~els$F3F1PNLWT,
combined.weights = TRUE).

我对一部分人口的一些明确的描述性特征感兴趣,例如家庭生活安排。我想把它们整理成一个显示频率的列联表。我想基于四个变量(没有一个是二进制,但所有都是数字)对人进行排序这是我想要的:

desired output here

空白框是交叉制表/频率计数显示的位置。 (为简洁起见,我只在F1COMP下面放了3列,但它有9个结果 - 索引为1-9)

My current code: svyby(~F1FCOMP, ~F1RTRCC +BYS33C +F1A10 +byurban, els.weighted, svytotal)

此代码对数据进行排序,但默认情况下会对每个组合进行排序。我希望他们减少只代表每个变量的特定子群体。我试过了:

svyby(~F1FCOMP, ~F1RTRCC==2 |F1RTRCC==3 +BYS33C==1 +F1A10==2 | F1A10==3 +byurban==3, els.weighted, svytotal)

但是停了下来:

Error: unexpected '==' in "svyby(~F1FCOMP, ~F1RTRCC==2 |F1RTRCC==3 +BYS33C=="

此外,我当前版本的代码告诉我每种组合出现的情况有多少,这是我当前输出的图片。当我继续向下滚动时,还有数百行,每个组合1行。

这是我当前输出的图片。当我继续向下滚动时,还有数百行,每个组合1个

你可以在那张照片中看到,每行只能获得一个F1FCOMP号码 - 符合指定组合的案例数量 - 一个特定的子群体。我想更多地了解这个亚种群。也就是说,F1COMP有九个不同的结果(索引为1-9),我想看看每个子群体中有多少适合F1COMP的9个结果。

0 个答案:

没有答案