我正在处理一个包含数千个观察值和数千个变量的大型联邦数据集。提供了复制权重。我正在使用 R 中的“调查”包来应用这些权重:
els.weighted=svrepdesign(data=els, repweights = ~els$F3F1PNLWT,
combined.weights = TRUE).
我对一部分人口的分类描述特征感兴趣,例如家庭生活安排。我想把这些整理成一个显示频率的列联表。我想根据四个变量对人进行排序(都不是二进制的,但都是数字的)这就是我想要得到的:
空白框是显示交叉表/频率计数的地方。(为简洁起见,我只在 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 个结果中的每一个。