CGSS数据管理:用Stata管理文件
新建文件夹、压缩文件、打印文件都是非常简单方便的操作。当用Stata进行数据清洗时,我们通常需要找到相应的文件完成以上步骤。Stata中是否有相应的命令可以直接实现以上功能,从而避免反复找文件位置呢?本文将为大家展示如何使用Stata命令实现新建文件夹、压缩/解压缩文件和打印文件的功能。
1. 新建文件夹——命令mkdir
在数据清洗过程中,经常会遇到要将新生成的文件放在一个新建文件夹中,此时,我们可以手动一步步点击进入所需存放的位置,然后新建一个文件夹。如果这时我们正在运行Stata进行相关的数据清洗,点击寻找路径不仅会中断Stata操作,也较为麻烦。在Stata中运行命令mkdir,可以直接在相应的路径中新建一个文件夹,该命令的语法结构如下所示:
mkdir directoryname [, public]
命令mkdir默认在当前路径中新建文件夹,也可以自己选择路径,需注意的是,当路径中含有空格时需用双引号引用路径。例如我当前所在路径为“D:\data”,我想在D盘新建一个文件夹CGSS2013 part1”,其命令如下所示:
这样,D盘中就新建了一个名为“CGSS2013part1”的文件夹。命令mkdir还有一个选项public,该选项决定了新建的文件夹是否对所有人都可见。若运行命令时添加该选项,任何人都可以打开新建的文件夹,若不添加该选项,只有系统管理员可以打开新建文件夹。
2. 压缩/解压缩文件——命令zipfile/unzipfile
命令zipfile可以将不同格式的多个文件进行压缩,该命令的语法结构如下:
zipfile file|directory [file|directory] ..., saving(zipfilename[, replace])
命令zipfile默认压缩当前路径中的文件,Excel文件、Word文件、Stata文件、PPT文件、PDF文件等都可以通过命令zipfile压缩。例如将当前路径中的dta文件(cgss2013-1)、excel文件(cgss2013-1-check)、word文件(cgss2013-1-not)还有文件夹(myfiles)压缩为一个压缩包“CGSS2013-1”,命令如下所示:
同时,命令zipfile支持多种通配符。例如要将当前路径中所有dta文件压缩为一个压缩包“cgss2013all”,执行以下命令即可:
除了压缩当前所在路径中的文件,命令zipfile还可以压缩指定路径中的文件,甚至同时将不同路径中的文件进行压缩。例如我要将C盘中的excle文件(cgss2013-2-check)和H盘中的dta文件(cgss2013)以及当前路径中的文件夹(myfiles)压缩成一个压缩包“CGSS2013-
2”,具体命名如下所示:
最终生成的压缩包存储在当前路径中。
命令unzipfile则可以将压缩包进行解压缩,该命令的语法结构如下所示:
unzipfile zipfilename [, replace]
使用该命令解压缩文件时,可以指定特定路径中的特定压缩文件。例如想要将存储在H盘中的压缩文件CGSS2013-1进行解压缩,执行以下命令即可:
如果相应路径中已经存在压缩文件中的文件,压缩包中的文件会覆盖对应文件。
3. 打印文件——命令print
在用Stata做数据清洗时,运行的命令和运行结果都会保存在相应的log文件中,如果想要将这些信息打印出来进行进一步的查看,除了找到所需文件进行打印,还可以通过Stata中的命令print打印相应的log文件,该命名的语法结构如下所示:
print filename [, like(ext) name(windowname) override_options ]
命令print可以打印指定路径中的log文件(.smcl/.log)和.txt文件。例如要将H盘中的log文件(cgss2013-1.smcl)打印出来,可以执行以下命令:
除了打印以上三种格式的文件,命令print还可以打印正在运行的Stata窗口,Result窗口,Viewer窗口和Graph窗口都可以直接通过命令print进行打印,具体命令如下所示:
当把命令print和其override_options结合使用,可以打印更多种格式的文件,详见help print和help translate。