根据指标变量(Stata)按教育群体计算失业率
我有以下变量指示观察是工作还是失业,其中0表示工作,1表示失业根据指标变量(Stata)按教育群体计算失业率,stata,Stata,我有以下变量指示观察是工作还是失业,其中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,
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)
这是因为我还打算按人口统计组、性别等复制相同的等式。您的
失业
变量编码为0/1。因此,您可以通过取平均值获得失业比例。您可以使用summary
命令或collapse
命令执行此操作。这两项都可以由教育
组执行
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)
您用于绘制数据的代码似乎工作正常。非常感谢,即使我的性别变量编码为1和2,同样的代码也应该工作,对吗?如:
bysort-gender:summary-unemp\u-lfp bysort-gender:egen-unemp\u-gender=mean(unemp\u-lfp)
?是的,同样的代码也可以应用于gender
,无论级别多少都应该有效。唯一需要注意的是,unemp
总是被编码为0和1,因为这是计算比例的技巧唯一可行的情况;然后mean(unemp==1)
也会起作用。主要的转折点是注意缺少的值。