Команды 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 ниже, но результаты дают дубликаты. Цель этого кода - создать в папке таблицу с файлами разных типов.

0 ответов

Другие вопросы по тегам