stata数据合并与追加

2018-06-21  本文已影响0人  松柏林stata

资料来源微信公众号:数据江湖

横向合并:增加变量(merge命令)

一对一合并 [1:1]
多对一合并 [m:1]
一对多合并 [1:m]
纵向合并:追加样本 (append命令)

01 横向合并:增加变量(merge)

一对一合并 [1:1]
//调入待合并的Excel数据并保存为dta数据格式
import excel using data1.xlsx, clear firstrow
browse
save data1.dta, replace
import excel using data2.xlsx, clear firstrow
browse
save data2.dta, replace
//合并方法
use data1.dta, clear
merge 1:1 varname using data2.dta//varname为接头变量
list, clean
//merge  变量的含义:
//_merge=1对应那行的观察值仅来自于原始数据
// _merge=2 仅来自于调用的那份数据
//_merge=3同时来自于两份数据
help merge    //帮助文档查看更多使用说明
//- keepusing(varlist)选项
use data1.dta, clear
merge 1:1 name using data2.dta, keepusing(height) 
//只合并data2中的height变量
多对一合并 [m:1]
//调入待合并的Excel数据并保存为dta数据格式
import excel using data3.xlsx, clear firstrow
browse
save data3.dta, replace
import excel using data4.xlsx, clear firstrow
browse
save data4.dta, replace
//合并方法
use data3.dta, clear
merge m:1 brand using data4.dta, nogen   
//nogen不产生变量_merge
list, clean
一对多合并 [1:m]
// m:1的逆向操作,类似
//纵向合并:追加样本  (append)
//两个数据库中的同名变量会自动累加
//调入待合并的Excel数据并保存为dta数据格式
import excel using data5.xlsx, clear firstrow
browse
save data5.dta, replace
import excel using data6.xlsx, clear firstrow
browse
save data6.dta, replace
//纵向追加
use data5.dta, clear
append using data6.dta   
list, clean
//-generate()  选项 
use data5.dta, clear
append using data6.dta, gen(append_id)  
//产生新的变量名称append_id
browse
//:注意事项:
//(1)两个数据库中变量名称要相同
// PRICE和price是不同的变量
//( 2)两数据库中同名变量要有相同的存储类型
 //同为文字变量或同为数值变量

扩展阅读:
help appendfile // 合并文本文件:将一个文本文件追加到另一文本文件尾部
help openall // 一次性打开指定文件夹下的所有文件,并纵向合并
操作视频https://v.qq.com/x/page/z0633fybvmr.html

上一篇下一篇

猜你喜欢

热点阅读