首页 > 解决方案 > 计算员工先前经验的差异

问题描述

我有以下数据集:

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_ijp_kj是员工在其职业生涯中在该领域的专业知识i的份额,等于团队规模。kjn

例如,对于部门1、员工143,他18%的职业生涯都在区域工作334(此示例对应于观察3)。部门的团队规模为13即部门1n=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中计算这个?

标签: stata

解决方案


推荐阅读