stata - 由许多不同的组生成变量
问题描述
我有一个数据集:
- 一个独特的
person_id
. - 该人过去学习的不同科目(
humanities
、IT
等business
)。 - 每个
Degree
主题的。
这看起来如下:
person_id 人文商务 IT 学位 1 0 1 0 理学士 1 0 0 1 理学硕士 2 1 0 0 博士 2 0 1 0 理学硕士 2 0 0 1 理学士 3 0 0 1 理学士
我想转换这个数据集,以便我拥有由每个可能的学位和主题组合组成的变量person_id
。
这个想法是,当我collapse
稍后通过时person_id
,我将为每个人设置一个值(即0
or 1
)。我有十二个不同的科目和四个主要学位。
person_id humanities business IT Degree BSc_humanities MSc_Hum
1 0 1 0 BSc 0 0
1 0 0 1 MSc 0 0
2 1 0 0 PhD 0 1
2 1 0 0 MSc 0 1
2 0 0 1 BSc 0 1
3 0 0 1 BSc 0 0
实现这一目标的最佳方法是什么?
解决方案
你可以使用fillin
:
clear
input person_id humanities business IT str3 Degree
1 0 1 0 BSc
1 0 0 1 MSc
2 1 0 0 PhD
2 0 1 0 MSc
2 0 0 1 BSc
3 0 0 1 BSc
end
fillin person_id humanities business Degree
list person_id humanities business Degree
+-----------------------------------------+
| person~d humani~s business Degree |
|-----------------------------------------|
1. | 1 0 0 BSc |
2. | 1 0 0 MSc |
3. | 1 0 0 PhD |
4. | 1 0 1 BSc |
5. | 1 0 1 MSc |
|-----------------------------------------|
6. | 1 0 1 PhD |
7. | 1 1 0 BSc |
8. | 1 1 0 MSc |
9. | 1 1 0 PhD |
10. | 1 1 1 BSc |
|-----------------------------------------|
11. | 1 1 1 MSc |
12. | 1 1 1 PhD |
13. | 2 0 0 BSc |
14. | 2 0 0 MSc |
15. | 2 0 0 PhD |
|-----------------------------------------|
16. | 2 0 1 BSc |
17. | 2 0 1 MSc |
18. | 2 0 1 PhD |
19. | 2 1 0 BSc |
20. | 2 1 0 MSc |
|-----------------------------------------|
21. | 2 1 0 PhD |
22. | 2 1 1 BSc |
23. | 2 1 1 MSc |
24. | 2 1 1 PhD |
25. | 3 0 0 BSc |
|-----------------------------------------|
26. | 3 0 0 MSc |
27. | 3 0 0 PhD |
28. | 3 0 1 BSc |
29. | 3 0 1 MSc |
30. | 3 0 1 PhD |
|-----------------------------------------|
31. | 3 1 0 BSc |
32. | 3 1 0 MSc |
33. | 3 1 0 PhD |
34. | 3 1 1 BSc |
35. | 3 1 1 MSc |
|-----------------------------------------|
36. | 3 1 1 PhD |
+-----------------------------------------+
推荐阅读
- mysql - MySQL 将字符串转换为 varbinary
- python - Matlab和Python中的浮点数有什么区别?
- mysql - 基于上次更新的组的 SQL 查询
- ruby-on-rails - 如何使用 cocoon 同时创建父元素和嵌套元素
- typescript - 具有重载函数的类型推断
- tensorflow - 图像馈送到深度神经网络
- cordova - Ionic 3-如何在设备默认浏览器中打开外部 url
- c++ - 我的随机生成器是否无法正常工作,或者我在决定人类/骷髅是否击中对手时是否存在错误?
- sql-server - SQL Server Service Broker - 端点上的证书就足够了吗?
- node.js - Socket.io 丢包?