Замените пропущенные значения ссылочными значениями для каждого идентификатора в данных панели - PullRequest
0 голосов
/ 28 января 2019

У меня есть данные панели:

    Id |       Wave| Localisation| Baseline
     1 |         1 |          AA |        1
     1 |         2 |          .  |        0
     1 |         3 |          .  |        0
     2 |         2 |          AB |        1
     2 |         3 |          .  |        0
     3 |         1 |          AB |        1
     3 |         3 |           . |        0
     4 |         2 |          AC |        1
     4 |         3 |           . |        0

Некоторые значения переменных одной панели (hhsize, localisation, что угодно) служат справочными данными (эти значения включены только в базовое интервью).

Следовательно, для каждого id у нас нет всей информации.Например, для id==1 у нас отсутствуют значения в столбце Localisation для не базового интервью (baseline==0).

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

Фактически, информация Localisation остается неизменной во всех случаях.разные волны.Поэтому полезно знать локализацию для каждой волны для одного человека.

1 Ответ

0 голосов
/ 30 января 2019

Если шаблон данных, который вы предоставляете, одинаков для всего набора данных, то должно работать следующее:

clear

input Id Wave str2 Localisation Baseline
1 1 AA 1
1 2  . 0
1 3  . 0
2 2 AB 1
2 3  . 0
3 1 AB 1
3 3  . 0
4 2 AC 1
4 3  . 0
end

bysort Id (Wave): replace Localisation = Localisation[1] if Localisation == "."

list, sepby(Id) abbreviate(15)

     +-------------------------------------+
     | Id   Wave   Localisation   Baseline |
     |-------------------------------------|
  1. |  1      1             AA          1 |
  2. |  1      2             AA          0 |
  3. |  1      3             AA          0 |
     |-------------------------------------|
  4. |  2      2             AB          1 |
  5. |  2      3             AB          0 |
     |-------------------------------------|
  6. |  3      1             AB          1 |
  7. |  3      3             AB          0 |
     |-------------------------------------|
  8. |  4      2             AC          1 |
  9. |  4      3             AC          0 |
     +-------------------------------------+
...