Объединить строки с разными данными - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть следующий набор данных в Stata:

* Example generated by -dataex-. To install: ssc install dataex
clear
input id price weight length str3(origin destination)
1 2763 . 34 "AUS" "USA"
2 . 234 28 "" "GER"
1 2763 543 . "." "USA"
2 8976 . 28 "ESP" "GER"
3 . 112 . "ARG" "POL"
3 1256 112 . "ARG" "POL"
3 1256 112 66 "." "."
4 6789 . 16 "UK" ""
2 8976 . . "ESP" ""
4 . 452 16 "." "CAN"
end

Он содержит разные данные для разных записей в разных строках.

Как объединить все в одной записи, чтобы получить выводниже:

1 2763 543 34 "AUS" "USA"
2 8976 234 28 "ESP" "GER"
3 1256 112 66 "ARG" "POL"
4 6789 452 16 "UK"  "CAN"

1 Ответ

0 голосов
/ 08 октября 2018

Мое решение состоит из двух шагов:

  1. Создайте несколько групповых переменных на основе идентификатора, или цены, или чего-либо, что имеет мало пропущенных значений.Например, сгенерируйте переменную group_1 на основе идентификатора.Сортируйте и ранжируйте все данные на основе этой переменной.

  2. Используйте команду xfill для заполнения пропущенных значений в группе.

Вам необходимо повторитьэти два шага с разными переменными id, построенными из разных базовых переменных, в зависимости от точного набора данных.

...