![Stata统计分析从入门到精通](https://wfqqreader-1252317822.image.myqcloud.com/cover/748/48774748/b_48774748.jpg)
1.4 do文件和log文件
通常,用Stata进行统计分析需要使用很多命令,有时还可能需要使用很长的命令。因此,经常需要将所有的命令存储在一个文本文件中运行。在Stata中,该文件以do为后缀,被称为do文件。
1.4.1 do文件的编写
所谓do文件,是指以do为后缀的、包含一系列Stata命令的文本文件。编写do文件的标准步骤如下。
(1)确定当前工作目录。
查看当前工作目录只需输入cd命令,若要改变当前工作目录,则可以在cd后加上要更改的目标目录名。例如,要将工作目录更改为D:\DingJB\StataA,只需输入:
![](https://epubservercos.yuewen.com/854011/28468892602002906/epubprivate/OEBPS/Images/46623_23_2.jpg?sign=1739451257-BSWQ51eh3xo4NH18ka7lvhU2SCWgq2zA-0-e353313d63ccf2d670c3e0d16d03dcda)
注意
目录名加与不加双引号""均可,但当目录名中包含空格时,需要加双引号。
(2)打开do文件编辑器窗口。
文件编辑器可以是Stata内置的do文件编辑器,也可以是任意一个外部的文本编辑器。打开Stata内置的do文件编辑器窗口的方法如下。
● 直接在命令窗口中输入doedit命令。
● 执行菜单栏中的“窗口”→“do文件编辑器”→“新do文件编辑器”命令,即可打开do文件编辑器窗口,输入命令并保存即可。
说明
在do文件中可以通过在命令后面附“//”表示其后的内容为注释,以方便阅读理解。
(3)输入do文件的内容并保存。
直接单击(保存)按钮,或者执行菜单栏中的“文件”→“保存”命令,即可保存do文件。
(4)查看do文件的内容。
通过下面的命令可以查看do文件的内容:
![](https://epubservercos.yuewen.com/854011/28468892602002906/epubprivate/OEBPS/Images/46623_24_1.jpg?sign=1739451257-4wVg8o95skvj6FOMKDxjmdLrnxnBRM1X-0-4b84e5498be5ec00b1d0a7a01feba616)
【例1-3】do文件应用示例。
在命令窗口中输入:
![](https://epubservercos.yuewen.com/854011/28468892602002906/epubprivate/OEBPS/Images/46623_24_2.jpg?sign=1739451257-QxMBI6SKvu5No7RwPpsKtGxWnYl5slpp-0-6ba7122ea972fda4cd96f60ae767fc27)
打开do文件编辑器窗口,输入:
![](https://epubservercos.yuewen.com/854011/28468892602002906/epubprivate/OEBPS/Images/46623_24_3.jpg?sign=1739451257-Cwnl5ioEWa1ezwn4b8VqCkiboWV4liLo-0-0318c8c646bdffada1c99c9c10e034fa)
单击(保存)按钮,将内容保存为dingdo.do并关闭窗口。
在命令窗口中输入:
![](https://epubservercos.yuewen.com/854011/28468892602002906/epubprivate/OEBPS/Images/46623_24_5.jpg?sign=1739451257-ugOV1UuyKqWsykBU7x9224FTi3GNR8U1-0-3d93f286d0e5a175fb2ca5711940c2fc)
在结果窗口中显示do文件的内容:
![](https://epubservercos.yuewen.com/854011/28468892602002906/epubprivate/OEBPS/Images/46623_24_6.jpg?sign=1739451257-qh9NHLFCn5hFNvgI6sTqGcHMkouVxP3b-0-cbb30775eafdb8c73efa027e33cdf62c)
1.4.2 运行do文件
通过下面的方法可以运行已经编写好的do文件。
(1)在命令窗口中运行do文件。首先通过cd命令将默认工作目录转换至do文件所在的工作目录,其次执行命令:
![](https://epubservercos.yuewen.com/854011/28468892602002906/epubprivate/OEBPS/Images/46623_24_7.jpg?sign=1739451257-hUOSeFwYujDG2Wmb68rfcbPz1GaMHVPD-0-05691082b4cb7d79be86fd894b2ab62c)
其中,dofilename是do文件的名称。若文件名为dingdo.do,则相应地执行命令:
![](https://epubservercos.yuewen.com/854011/28468892602002906/epubprivate/OEBPS/Images/46623_24_8.jpg?sign=1739451257-hy6TpJRTaysznODjwZYI0uQwQMza63UG-0-a06ba981d5b18b9016b24639f42c23a0)
输出结果如图1-15所示。
![](https://epubservercos.yuewen.com/854011/28468892602002906/epubprivate/OEBPS/Images/46623_24_9.jpg?sign=1739451257-Qre1Qa2HAIiqUl3hJ7XelU8rrFXdDqIU-0-9dd0561b90d59b4570f414873dcf581e)
图1-15 输出结果
(2)通过do文件编辑器运行do文件。
执行菜单栏中的“窗口”→“do文件编辑器”→“新do文件编辑器”命令,打开do文件编辑器窗口。
在do文件编辑器窗口中执行“文件”→“打开”→“打开”命令,在弹出的“打开”对话框中选择要打开的文件。
执行“工具”→“执行(do)”命令即可运行do文件。
提示
使用do文件编辑器的优势在于可以选定并执行部分命令。在每个do文件开始的地方添加set more off命令可以使结果连续显示,而非一页一页地显示,这样可以大量节省时间。
(3)执行do文件中的部分行。
选中要执行的行,按Ctrl+D组合键,就能执行选中的行。
1.4.3 log文件
在默认情况下,Stata会将输出结果直接显示在屏幕上。为了使输出结果可以重复使用,用户可以将其保存在一个独立的文件中。保存输出结果的优势在于,对于一些较长的输出结果,使用文本编辑器更方便阅读。
保存Stata输出结果的文件称为log文件(日志文件),它同时包含Stata命令及这些命令的运行结果。在默认情况下,这些文件的后缀被设定为log,用户也可设定其他的后缀,如txt。对于这些文件,用户既可以通过一个标准的文本编辑器阅读,也可以通过Stata的特殊模式smcl阅读。
log文件可以通过log命令创建。例如,要创建一个名为dingdo.txt的log文件,可以在命令窗口中输入:
![](https://epubservercos.yuewen.com/854011/28468892602002906/epubprivate/OEBPS/Images/46623_25_1.jpg?sign=1739451257-YKOfNP2TkTQ5pmZC2tmrgz6OaDmN8V4M-0-67f3fec9fa99c730d41936261ae0da9c)
其中,replace选项允许新写入的log文件覆盖原有的同名文件。如果这里没有replace选项,并且工作目录中已经存在同名log文件,那么Stata会拒绝该文件的创建。当程序执行完毕时,用户可以输入:
![](https://epubservercos.yuewen.com/854011/28468892602002906/epubprivate/OEBPS/Images/46623_25_2.jpg?sign=1739451257-43NJBSROuf4XW36yvV4L6yiQZOhxiEJb-0-7b1012d61847b0d068840c3f83d32f0f)
以关闭当前的log文件。
一个log文件可能会非常长,通过编辑已生成的log文件可以获得想要的运行结果。log文件中以“.”开头的命令后跟着该命令的运行结果。用户可以根据log文件获得相应的do文件,方法是去掉Stata命令的运行结果和每条命令语句前的“.”。