stata - 计算员工先前经验的差异
问题描述
我有以下数据集:
clear
input float(department employee expertise_area share)
1 56 334 1
1 143 389 .04
1 143 334 .18
1 143 383 .02
1 143 398 .1
1 143 414 .02
1 143 396 .08
1 143 385 .08
1 143 403 .3
1 143 409 .02
1 143 373 .02
1 143 392 .06
1 143 397 .06
1 143 394 .02
1 214 373 1
4 145 399 .029
4 145 409 .7681
4 145 311 .0145
4 145 403 .1884
4 161 62 .4
4 161 373 .6
4 285 355 .5333
4 285 392 .0333
4 285 304 .0333
4 285 310 .2333
4 285 73 .0333
4 285 331 .0333
4 285 399 .0333
4 285 414 .0667
186 161 62 .4
186 161 373 .6
186 247 409 .0025
186 247 311 .0025
186 247 338 .25
186 247 298 .0051
186 247 334 .649
186 247 337 .0051
186 247 404 .0076
186 247 339 .0051
186 247 301 .0025
186 247 403 .0631
186 247 347 .0025
186 247 336 .0051
186 285 304 .0333
186 285 399 .0333
186 285 355 .5333
186 285 392 .0333
186 285 310 .2333
186 285 73 .0333
186 285 414 .0667
186 285 331 .0333
end
我想计算团队(或部门)中员工先前经验分布之间的差异。
这是平均欧几里得距离,它计算团队中个人的分离:
在这里,p_ij
和p_kj
是员工在其职业生涯中在该领域的专业知识i
的份额,等于团队规模。k
j
n
例如,对于部门1
、员工143
,他18%
的职业生涯都在区域工作334
(此示例对应于观察3
)。部门的团队规模为1
,3
即部门1
,n=3
。
总之,我想为每个部门分别计算(1, 4, 186)
3 个点(或员工)[(56, 143, 214), (145, 161, 285), (161, 247, 285) respectively]
的欧几里得距离13, 13 and 22
(或专业知识区域)。请注意,即使一个部门的3
员工(或积分)多于我,我也应该能够产生输出。
输出应如下所示:
+------------+--------------------+
| department | euclidean_distance |
+------------+--------------------+
| 1 | .4022 |
| 4 | .4131 |
| 186 | .3882 |
+------------+--------------------+
我如何在Stata中计算这个?
解决方案
推荐阅读
- postgresql - PostgreSQL 拒绝连接
- python - 同一图上的双二元 Kdeplot
- c# - 尝试使用 Hangfire 时的自引用循环
- javascript - SyntaxError: Unexpected token || 在 /var/www/html/views/components/show.ejs 编译 ejs
- bash - 使用 bash 更新 csv 文件
- python - Python .rstrip() 会删除一个字符串,即使它不完全匹配
- java - Android:SharedPreferences如何从活动中消失第二个参数(如果在sharedPreferences中没有找到)
- vue.js - Vuejs - 选中复选框时显示/隐藏块,当复选框是组件时
- python - 不使用小部件 tk.Menu 的自定义菜单栏
- python - 在 python 中绘图,但它在绘图中自动更改了我的 y 值