使用R

时间:2015-06-23 19:20:08

标签: r survey

我想扩展抽样调查并模拟人口。例如,如果我有以下数据样本(非常小以解释我的问题),如

control weight  sex age  race
      1      2    F   23    W
      2    3.1    M   21    B
      3    5.3    F   19    W

在这种情况下,控制代表受访者。例如,我想获得一个数据框,其中控件1(某个人,性别女性,23岁和白色)重复2次(2行)。当我试图重复控制数字2的3.1倍和控制数字3的5.3时,出现了困难,保留了性别,年龄和种族。

有"调查"包裹,但我不知道这种情况是否有某种功能。

如何找到此问题的解决方案?

1 个答案:

答案 0 :(得分:2)

如果您需要展开数据集的行,则根据“权重”列中的值,expandRows中的一个选项为splitstackshape。这与df1[rep(1:nrow(df1), weight),]类似。

 library(splitstackshape)
 expandRows(df1, 'weight')