在Stata中合并数据库,并根据合并数据的标识和值创建新变量
我有两个数据库,DB1和DB2,我想要合并,但我遇到了困难。我想要帮助确定Stata称之为我想要做的事情。在Stata中合并数据库,并根据合并数据的标识和值创建新变量
DB1具有约1000的观察,看起来像:
+----------+ | date b |
|----------|
1. | 1 7 |
2. | 2 6 |
3. | 3 7 |
+----------+
DB2由每65个标识与1000的观察。它看起来是这样的:
+--------------+ | date id b |
|--------------|
1. | 1 1 4 |
2. | 2 1 4 |
3. | 3 1 5 |
4. | 1 2 9 |
5. | 2 2 8 |
6. | 3 2 7 |
7. | 1 3 1 |
8. | 2 3 2 |
9. | 3 3 1 |
+--------------+
我想,这样最终的数据库看起来像DB1合并DB2:
+------------------------------+ | date b id1b id2b id3b ...|
|------------------------------|
1. | 1 7 4 9 1 ...|
2. | 2 6 4 8 2 ...|
3. | 3 7 5 7 1 ...|
+------------------------------+
我一直在阅读有关合并的命令,但单独不会造成我的最终数据库。
你能直接告诉我这些材料吗?你打电话给我想做什么?我觉得我需要命令Stata生成新的变量。
回答:
@William Lisowski是对的。这就得到你所要求的,简短的rename
。对于您的分析而言,最好的结构是不是很清楚:大多数使用类似数据的工作会更容易进行reshape long
。
clear input date b
1 7
2 6
3 7
end
save DB1
clear
input date id b
1 1 4
2 1 4
3 1 5
1 2 9
2 2 8
3 2 7
1 3 1
2 3 2
3 3 1
end
reshape wide b, j(id) i(date)
merge 1:1 date using DB1
事实上,我更通常做这样的事情,直接获得long
结构:
clear input date b
1 7
2 6
3 7
end
rename b B
save DB1 , replace
clear
input date id b
1 1 4
2 1 4
3 1 5
1 2 9
2 2 8
3 2 7
1 3 1
2 3 2
3 3 1
end
merge m:1 date using DB1
以上是 在Stata中合并数据库,并根据合并数据的标识和值创建新变量 的全部内容, 来源链接: utcz.com/qa/260519.html