Команды STATA для операторов foreach
Я хочу вставить Set B в операторы "foreach" внутри Set A.
локальные пути "" M: \ foldera "" M: \ folderb ""
* Набор из 2 операторов "foreach"
foreach path of local paths {
local fdir "`path'"
cd "`path'"
local files : dir . files "*.txt"
disp `"`files'"'
foreach file of local files {
filedate "`fdir'\\`file'"
local filedate "`r(bdate)'"
disp "`filedate'"
replace filedatestr= "`filedate'" if filedate==""
replace filename= "`file'" if filename==""
replace filepath= "`path'" if filepath==""
set obs `=_N+1'
}
}
* Набор B из 2 операторов "foreach"
foreach path of local paths {
local fdir "`path'"
cd "`path'"
local afiles : dir . afiles "*.do"
disp `"`afiles'"'
foreach afile of local afiles {
filedate "`fdir'\\`file'"
local filedate "`r(bdate)'"
disp "`filedate'"
replace filedatestr= "`filedate'" if filedate==""
replace filename= "`afile'" if filename==""
replace filepath= "`path'" if filepath==""
set obs `=_N+1'
}
}
ПОПЫТКА А
foreach path of local paths {
local fdir "`path'"
cd "`path'"
local piles : dir . files "*.txt"
disp `"`files'"'
local files : dir . files "*.do"
disp `"`afiles'"'
foreach pile of local piles {
filedate "`fdir'\\`pile'"
local filedate "`r(bdate)'"
disp "`filedate'"
replace filedatestr= "`filedate'" if filedate==""
replace filename= "`pile'" if filename==""
replace filepath= "`path'" if filepath==""
set obs `=_N+1'
foreach file of local files {
filedate "`fdir'\\`file'"
local filedate "`r(bdate)'"
disp "`filedate'"
replace filedatestr= "`filedate'" if filedate==""
replace filename= "`file'" if filename==""
replace filepath= "`path'" if filepath==""
set obs `=_N+1'
}
}
}
Я попробовал Попытку A ниже, но результаты дают дубликаты. Цель этого кода - создать в папке таблицу с файлами разных типов.