根据指标变量(Stata)按教育群体计算失业率

根据指标变量(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,

我有以下变量指示观察是工作还是失业,其中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) 

这是因为我还打算按人口统计组、性别等复制相同的等式。

您的
失业
变量编码为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)
也会起作用。主要的转折点是注意缺少的值。