Я изучаю stata и пытаюсь понять слияние. Может кто-нибудь объяснить разницу между различными видами слияния со мной? (1: 1, 1: m, m: 1, m: m).Как объединить данные в stata
ответ
В случае, если Stata manual неясно, вот краткий обзор.
Во-первых, важно прояснить терминологию.
merge
основном соединяет строки в двух наборах данных (Stata называет их observations
) на основе заданной переменной или список переменных, называемых key
переменных. Вы должны начать с одного набора данных уже в памяти (Stata называет это набор данных master
), и вы получаете merge
другой набор данных (другой набор данных называется набором данных using
). Остается только один набор данных, содержащий все переменные из master
и любую переменную из using
, которая еще не существует в master
. Он также генерирует новую переменную с именем _merge
, указывающую, были ли строки в master
, которые не были в using
или наоборот. Объединенный набор данных (если не указано иное) будет содержать все строки от master
и using
, независимо от того, совпадают ли ключевые переменные между ними.
Важное значение имеет понятие «уникальный идентификатор». Если переменная (или комбинация переменных) имеет различное значение в каждой строке, она однозначно идентифицирует строки. Это важно для деталей около 1: 1, 1: м и т. Д.
- 1: 1 означает, что ключевая переменная предоставляет уникальные идентификаторы в обоих наборах данных. Вы останетесь со всеми строками из обоих наборов данных в памяти.
- 1: m означает, что ключевая переменная в наборе данных
master
однозначно идентифицирует строки, но ключевая переменная из набора данныхusing
этого не делает. Вы все равно останетесь со всеми строками из обоих наборов данных, но если ключевая переменная имеет повторяющиеся наблюдения в используемом наборе данных, набор данныхmaster
получит дубликаты для их соответствия. - m: 1 - это противоположность 1: m. Ключевая переменная в наборе данных
master
не однозначно идентифицирует строки, но ключевая переменная в наборе данныхusing
. - m: m является довольно странным. Ключевая переменная не однозначно идентифицирует строки в любом наборе данных, поэтому вы будете иметь дублированные строки с обеих сторон.
Пример:
** make a dataset and save as a tempfile called `b'. Note that k uniquely identifies rows
set obs 3
gen k = _n
gen b = "b"
list
+-------+
| k b |
|-------|
1. | 1 b |
2. | 2 b |
3. | 3 b |
+-------+
tempfile b
save `b'
** make another dataset and merge `b' to it. Note that k uniquely identifies rows
set obs 3
gen k = _n
gen a = "a"
list
+-------+
| k a |
|-------|
1. | 1 a |
2. | 2 a |
3. | 3 a |
+-------+
merge 1:1 k using `b'
list
+-------------------------+
| k a b _merge |
|-------------------------|
1. | 1 a b matched (3) |
2. | 2 a b matched (3) |
3. | 3 a b matched (3) |
+-------------------------+
** make another dataset and merge `b' to it. Note that k does not uniquely identify rows and that k=2 and k=3 do not exist in the master dataset
clear
set obs 3
gen k = 1
gen a = "a"
list
+-------+
| k a |
|-------|
1. | 1 a |
2. | 1 a |
3. | 1 a |
+-------+
merge m:1 k using `b'
list
+----------------------------+
| k a b _merge |
|----------------------------|
1. | 1 a b matched (3) |
2. | 1 a b matched (3) |
3. | 1 a b matched (3) |
4. | 2 b using only (2) |
5. | 3 b using only (2) |
+----------------------------+
- 1. Как я могу объединить переменные в Stata
- 2. Как объединить несколько файлов Excel в Stata?
- 3. Stata: объединить foreach с помощью
- 4. Данные SQL в Stata
- 5. Скребковые данные в Stata
- 6. Stata: объединить несколько переменных в один
- 7. Данные обрезки в Stata
- 8. Реорганизовать данные панели в Stata
- 9. Отображать данные в цикле Stata
- 10. Как изменить длинные широкоформатные данные в Stata?
- 11. Stata. Как преобразовать данные в чистые данные панели?
- 12. Как получить данные из нескольких файлов Stata?
- 13. Stata макро прочитать все данные
- 14. как объединить данные в python
- 15. Как объединить данные в несколько
- 16. Как объединить данные в R?
- 17. Как объединить данные в django?
- 18. Как объединить данные в многопоточность?
- 19. Как объединить данные в Excel
- 20. Как объединить данные в elasticsearch
- 21. Объединить данные в gridview
- 22. Объединить данные в R
- 23. Объединить данные в Excel
- 24. объединить данные в панд
- 25. Объединить данные в Datagridview
- 26. Как переименовать ярлыки в Stata
- 27. Stata: переформатируйте широкие данные, если данные установлены в 0
- 28. Круговые диаграммы в Stata
- 29. Как собирать/собирать данные Stata из нескольких анализов в файл?
- 30. Как запустить T-тест на данные панели в Stata?
Команда 'merge' широко описаны в Data-Management Reference Manual Stata доступна из пункта Документация PDF в меню Справка STATA в. –