首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环来追加几个.dta文件

循环来追加几个.dta文件
EN

Stack Overflow用户
提问于 2016-09-09 11:15:05
回答 1查看 4.8K关注 0票数 3

我是stata的新手,我需要将几个.dta文件添加到一个数据集中。

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

代码语言:javascript
复制
jan_2015.dta 
feb_2015.dta 
mar_2015.dta 

..。依此类推,直到dec_2015

我尝试了以下代码:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-09 13:27:39

不需要循环:append可以获取您可以通过fs获得的文件列表

代码语言:javascript
复制
ssc install fs
cd C:\Users\TOSHIBA\Desktop\Lender_List\Compiled\2015
clear
fs *_2015.dta
append using `r(files)'

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

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

代码的主要问题是本地宏lname是filename,但是您取消了对名为var的内容的引用,而var的计算结果为空,因此Stata无法找到名为_2015.dta的文件并发出警告。第二个问题是,您的循环似乎试图打开每个月的文件,并将1月份的数据附加到其中。这听起来不像你所想的那样。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39403273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档