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