我的客户有几个已经运行了一段时间的 Stata 程序(.do 文件)。
是否可以为 Stata 提供前端页面或表单,以便我们可以选择不同的选项/标准并根据选择运行 Stata 上的某些程序?
基本上有没有办法为Stata程序创建表格?
我的客户有几个已经运行了一段时间的 Stata 程序(.do 文件)。
是否可以为 Stata 提供前端页面或表单,以便我们可以选择不同的选项/标准并根据选择运行 Stata 上的某些程序?
基本上有没有办法为Stata程序创建表格?
为程序制作“表单”的一种粗略方法是使用宏。这不是带有文本框的显式对话框形式,但它允许您从单个 .do 文件控制程序。基本上,在一个单独的 do 文件中使用一堆全局宏,然后在整个 .do 文件中使用这些宏。我下面的例子就是这样做的
宏文件(表单 do-file)
global projectname stackoverflow
global exportfmt putdocx
global analysisfolder "/file/path"
global dofilesfolder "/file/path"
该宏projectname
允许您为项目命名,因此我将它放在所有文件保存命令中,或者我save
使用该名称清理了数据集。您甚至可以将其放在文件路径中。
使用or命令exportfmt
生成报告时通常使用的宏。拥有一个全局变量可以让我在导出 pdf 或 docx 之间切换。putdocx
putpdf
analysisfolder
然后,您可以使用宏dofilesfolder
创建文件路径,只需填写“表格”即可为不同的项目调用这些路径。
Do-files 使用
$exportfmt clear
$analysisfolder
use $project, clear
$exportfmt begin
$exportfmt paragraph
因此,使用您的所有宏创建一个单独的 do-file(表单 do-file),然后您可以在一个您认为合适的地方将它们全部更改。这不是一个真正的形式,但它可以简化整个 Stata 程序中许多事情的更改。
Stata 可以在批处理模式下启动
stata /b do whatever.do
因此,您可以whatever.do
使用方便的工具形成该文件,然后根据需要运行它。当然,您需要确保客户的 do-files 生成的任何输出都以计算机可读的格式保存(而不是仅仅留在屏幕上供分析人员复制并粘贴到 Word 中)。
这是由世界银行的 ADePT 团队实施的,参见http://www.worldbank.org/adept。它有一个 C# GUI,但它在内部运行 Stata。
您可以从 Stata 的下拉菜单中创建一个可以使用的表单。见help dialog_programming
页面。