loops - 循环 append 几个 .dta 文件

标签 loops append stata

我对 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/

相关文章:

PHP - 同一数组的 foreach 循环中的 array_push 不会更新数组

java - 找出 1,000,000 以内至少有一个 7 和 9 的所有正整数,但如何修复重复项?

linux - 变量显示在终端中而不是 append 到 Bash 上的文件中

javascript - jQuery append 不会调用两次?

r - R 中具有稳健聚类标准误差的逻辑回归

java - 在Java中,如何使用循环实例化新对象,将它们存储在数组中,然后使用它们?

c - 将文件 append 到 C 中的存档末尾

将多个文件读入多个数据框

stata - 在 Stata coefplot 中编辑置信区间

JQuery 子级数