1. 前言
在目前工作中,用stata清洗及分析数据,感觉很顺滑。无奈不少同学因为help文件里的英文望而却步。
带着学习和分享的目的,根据工作经验,给大家整理一些常用以及不太常用但很有用的命令,并对该命令的help文件进行有侧重的详解。
2. 命令及获取
openall
:打开多个数据集并纵向合并,即批量纵向合并,需通过ssc install openall
进行安装。
3. 描述
openall
:将现有的数据清除,然后将指定文件夹内的所有数据集一次性纵向合并。
4. 语法
openall [files], [directory(string)] [storefilename(string)] [insheet]
- [,]:中括号里的为额外选项命令,按需求添加,而添加选项记得加英文逗号,
5. 选项
files
:指定需要批量合并的文件。可以使用通配符(例如,*
),如果不加扩展名,默认为.dta,也可以加上.csv,表示批量合并csv文件。directory
:指定批量合并的文件所在的文件夹。若不加,默认为工作目录,可通过命令pwd
查看当前的工作文件夹。storefilename
:指定一个变量名用来标识数据来源。insheet
:指定将要读取的文件是csv格式的。
6. 举例
*将目录C:\Users\Ressia\Desktop下的所有dta数据进行纵向合并,并生成变量source标识数据来源
openall *,directory(C:\Users\Ressia\Desktop) storefilename(source)
*将目录下的所有文件名以jyb开头的csv文件进行纵向合并
openall jyb*, directory(C:\Users\Ressia\Desktop) insheet storefilename(source)
7. 菜单
无
8. 补充
如果不通过命令openall
进行批量纵向合并的话,也可以通过:
local files: dir "." file "*.dta"
foreach file in `files'{
append using `files'
}