Hi there,
I am trying to merge 150 data sets and I realized my way of merging data is not efficient. I merge as follow:
use data1.dta, clear
sort id
save data1.dta, replace
use data2.dta, clear
sort id
save data2.dta, replace
merge 1:1 _n using data1.dta
drop _merge
sort id
save merge1.dta, replace
use data3.dta, clear
sort id
save data3.dta, replace
merge 1:1 _n uisng merg1.dta
drop _merge.dta
sort id
save merge2.dta, replace
.
.
.
.so on ....I realized its not efficient way to merge data when you have large data set.
Then I tried to use to loop function, and I am fairly new in terms of using loop function and I tried to merge with first 10 data set and I some how failed to merge. Following is my syntax:
local data data1-data10
foreach x of local data{
use `x', clear
sort id
save `x'.dta, replace
merge 1:1 _n using `x'
drop _merge
save merge_all.dta
end
Above function does not merge at all. Your help will highly appreciated. Many thanks.
I am trying to merge 150 data sets and I realized my way of merging data is not efficient. I merge as follow:
use data1.dta, clear
sort id
save data1.dta, replace
use data2.dta, clear
sort id
save data2.dta, replace
merge 1:1 _n using data1.dta
drop _merge
sort id
save merge1.dta, replace
use data3.dta, clear
sort id
save data3.dta, replace
merge 1:1 _n uisng merg1.dta
drop _merge.dta
sort id
save merge2.dta, replace
.
.
.
.so on ....I realized its not efficient way to merge data when you have large data set.
Then I tried to use to loop function, and I am fairly new in terms of using loop function and I tried to merge with first 10 data set and I some how failed to merge. Following is my syntax:
local data data1-data10
foreach x of local data{
use `x', clear
sort id
save `x'.dta, replace
merge 1:1 _n using `x'
drop _merge
save merge_all.dta
end
Above function does not merge at all. Your help will highly appreciated. Many thanks.
Comment