我想扩展抽样调查并模拟人口。例如,如果我有以下数据样本(非常小以解释我的问题),如
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时,出现了困难,保留了性别,年龄和种族。
有"调查"包裹,但我不知道这种情况是否有某种功能。
如何找到此问题的解决方案?
答案 0 :(得分:2)
如果您需要展开数据集的行,则根据“权重”列中的值,expandRows
中的一个选项为splitstackshape
。这与df1[rep(1:nrow(df1), weight),]
类似。
library(splitstackshape)
expandRows(df1, 'weight')