Генерация переменных многими различными группами - PullRequest
0 голосов
/ 08 июня 2018

У меня есть набор данных:

  1. Уникальный person_id.
  2. Различные предметы, которые человек изучал в прошлом (humanities, IT, business и т. д.).
  3. Degree каждого предмета.

Это выглядит следующим образом:

person_id humanities business IT   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

Я хотел бы преобразовать этот набор данных, чтобы у меня были переменные, состоящие из каждой возможной комбинации степени и предмета для каждого person_id.

Идея состоит в том, что когда я collapse это позже на person_id, у меня будет одно значение для каждого человека (а именно 0 или 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

Каков наилучший способ достичь этого?

1 Ответ

0 голосов
/ 08 июня 2018

Вы можете использовать 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 |
     +-----------------------------------------+
...