这个问题在这里已有答案:
这类似但不等于Using weights in R to consider the inverse of sampling probability .
我有一个很长的数据框,这是真实数据的一部分:
age gender labour_situation industry_code FACT FACT_2....
35 M unemployed 15 1510
21 F inactive 00 651
FACT是一个变量,第一行意味着35岁的男性失业者代表1510人口 .
我需要获得一些表来显示相关信息,如就业人数和失业人数等 . 在Stata中有一些选项,如 tab labour_situation [w=FACT]
,显示人口中就业和失业人数,而 tab labour_situation
显示就业和失业人数样本中的人 .
部分解决方案可能是重复数据帧的第一行1510次,然后我的数据帧的第二行重复651次?正如我搜索过的那样,一个选项就是运行
longdata <- data[rep(1:nrow(data), data$FACT), ]
employment_table = with(longdata, addmargins(table(labour_situation, useNA = "ifany")))
我需要做的另一件事是运行回归,记住以下列方式进行整群抽样:人口按区域划分 . 这就产生了一个问题:在
中接受访谈的一个人代表
人,而在
中接受访谈的个人代表
,但
和
与每个地区的总人口不成比例,因此某些地区的人数过多,而其他地区的人数不足 . 为了考虑到这一点,每个观测值应该通过其采样概率的倒数来加权 .
最后一段意味着模型
可以用有效方程估计
BUT 方差 - 协方差矩阵不是
而是
如果我考虑采样概率的倒数 .
在Stata中,可以通过执行 reg y x1 x2 [pweight=n]
来运行回归,并且考虑到采样概率的倒数来计算正确的方差 - 协方差矩阵 . 当时我必须使用Stata来完成我的部分工作而将R用于其他部分 . 我想只使用R.
1 回答
你可以通过重复rownames来做到这一点:
这里
1:5
指的是要保留的列 . 如果您将该位留空,则将返回所有内容 .