我有以下变量,指示观察是工作还是失业,其中0表示工作,1表示失业。
dataex unemp
input float unemp
0
0
0
0
1
.
1当我将变量制表时:
Unemploymen |
t | Freq.
------------+--------------
Employed | 80
Unemployed | 20
Total LF 100 我基本上想除以20/100,得到总失业率变量为20%。我现在已经手动完成了这一点,但我认为自动化更好,因为我还想按不同的教育群体和地理区域计算失业率。
gen unemployment_broad = .
replace unemployment_broad = (20/100)*100教育变量如下,其中1“低于基本”,2“基本”,3“中级”,4“高等教育”,
有没有办法计算每个教育组别的失业率?
input float educ
2
4
4
4
2
4
1
3
3
3使用Cybernike的解决方案,我试图创建一个按教育程度显示失业情况的变量,如下所示,但我得到了一个错误:
gen unemp_educ = .
replace unemp_educ = bysort educ: summarize unemp我本质上是想通过教育来想象失业的情况。如下所示:
graph hbar (mean) Unemployment, over(education) 这是因为我还打算按人口统计群体、性别等重复相同的等式。
发布于 2021-02-19 07:01:26
您的unemployment变量编码为0/1。因此,您可以通过取平均值来获得失业比例。您可以使用summarize命令或collapse命令来完成此操作。这两种方法都可以由education组来执行。
clear
input unemp educ
0 2
0 4
0 4
0 4
1 2
0 3
1 3
1 1
1 3
end
bysort educ: summarize unemp
collapse (mean) unemp, by(educ)
list
+-----------------+
| educ unemp |
|-----------------|
1. | 1 1 |
2. | 2 .5 |
3. | 3 .6666667 |
4. | 4 0 |
+-----------------+为了响应您的编辑,您还可以使用以下命令将平均值保存到原始数据集:
bysort educ: egen unemp_mean = mean(unemp)绘制数据的代码似乎工作得很好。
https://stackoverflow.com/questions/66267354
复制相似问题