各位好,小硕一枚,现下在处理数据,想将m:m的合并变成1:m的合并,所以需要把其中一份data依次保留第1、2、3……个观测值,然后与主数据合并,之后append这些分拆的合并好的data。
以下是我写的循环(第一次自己写,很乱),循环不下去(提示invalid 1),请各位老师同学指教!
use "D:\……\data.dta" , clear
preserve
qui forvalues i= 1/55391 {
keep if _n=`i'
save "D:\……\newdata_`i'.dta" , replace
}
restore
use "D:\……\main_data.dta"
qui forvalues `j' =1/55391{
merge 1:m 变量1 变量2 using "D:\……\newdata_`j'.dta"
keep if _merge==3
save "D:\……\newdataafter_`j'.dta" , replace
}
use "D:\……\newdataafter_1.dta" , clear
forvalues i= 2/55391{
append using "D:\……\newdataafter_"`i'".dta"
}
save "D:\……\alldata.dta", replace


雷达卡





京公网安备 11010802022788号







