gpt4 book ai didi

loops - 循环 append 几个 .dta 文件

转载 作者:行者123 更新时间:2023-12-04 00:06:50 26 4
gpt4 key购买 nike

我对 stata 比较陌生,我需要将几个 .dta 文件一起 append 到一个数据集中。

我有一个名为 2015 的文件夹,文件如下所示...

jan_2015.dta 
feb_2015.dta
mar_2015.dta

... 以此类推,直到 dec_2015.

我尝试了以下代码:

cd C:\Users\TOSHIBA\Desktop\Lender_List\Compiled\2015

local mylist jan_2015 feb_2015 mar_2015 apr_2015 may_2015 jun_2015 jul_2015 aug_2015 sep_2015 oct_2015 nov_2015 dec_2015

foreach filename of local mylist {
use `var'_2015
append using "jan_2015.dta"
}

但 stata 的输出显示 file _2015.dta not found

最佳答案

无需循环:append 可以获取你可以通过 fs 获得的文件列表:

ssc install fs
cd C:\Users\TOSHIBA\Desktop\Lender_List\Compiled\2015
clear
fs *_2015.dta
append using `r(files)'

如果您出于某种原因仍然渴望按名称循环文件:

cd C:\Users\TOSHIBA\Desktop\Lender_List\Compiled\2015
clear
foreach filename in `=lower("`c(Mons)'")' {
append using "`filename'_2015.dta"
}

您的代码的主要问题是本地宏 lname 是文件名,但是您取消引用名为 var 的东西,它的计算结果为空,因此 Stata 找不到名为 _2015.dta 的文件并提示。第二个问题是您的循环似乎试图打开每个月的文件并将一月份的数据 append 到它。这听起来不像你的想法。

关于loops - 循环 append 几个 .dta 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39403273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com