问题标签 [stata-macros]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
stata - 查找 _n 个具有特定值的 Observation(s)
我想找到与具有特定值的观察相对应的观察编号,例如29
。然后我想将这些观察数字保存在宏中。
有没有比以下笨重且效率低下的forvalues
循环更好的方法呢?
regex - Importing files with different months in name
I have the following code:
The problem is that not all my files have the date September
. Some have August
or May
.
How can I incorporate a solution for this in the above script?
The idea is that if September
is not found, the code would still run. However, instead of September
it would go for August
and if that fails, then May
.
stata - 继承循环变量或局部、全局宏
main.do
是:
并且run.do
是:
它有outreg2
,所以它产生了一个 txt 输出。但是我发现列标题是空的,这意味着 Stata 无法获取mode
。
这意味着mode
循环 inmain.do
不是由run.do
.
我怎样才能让它继承?如果我可以选择是否让它继承,那就太好了。
我尝试的是:
和:
和:
但没有任何效果。
stata - 本地中的本地在程序中评估为空
我正在尝试编写一个小程序,它只需要一个变量列表,并返回一个包含数据集中实际变量的子列表。
我在一个文件中多次执行此do
操作(不是按顺序执行的,因此没有循环),因此使用快速程序而不是每次都有效地复制此代码更容易。
该程序的简化版本如下。主要问题出现在第 6 行。程序的第一个参数应该是本地宏的名称,其中包含要与数据集中的变量名称进行比较的变量名称。因此,例如,如果本地宏是list1
,则程序的第一个参数是list1
,并且我想存储一个新的本地宏vlist
,它包含 中的所有变量list1
。
但是当我尝试这样做时:
生成的本地宏vlist
最终只是空的,而本地allvars
很好。
我的程序代码如下:
如您所见,本地vlist
最终为空,因此列表之间没有交集。
知道我在这里做错了什么吗?
我确定这是双本地宏,但我不确定如何修复它。
stata - 如何在 mi() 和 inlist() 中使用逗号分隔 Stata 宏“varlist”?
我想将变量列表存储在宏中,然后在mi()
语句中调用该宏。最初的应用程序是用于使用我出于保密原因无法上网的数据的程序,其中将包括以下声明:
问题是mi()
需要逗号分隔的变量名称但vars
由空格分隔。
我使用auto
数据集mark
来说明我的问题:
在这个例子中,mi()
要求用逗号分隔的参数,Stata 停止并抱怨它找不到foreignprice
变量。是否有一个实用函数可以在宏元素之间插入逗号?
variables - How do I confirm existence of all respective variables of a variable list?
Similar threads have not led me to solve the following problem.
I use a local macro to specify a varlist
with multiple variables and want to check whether each of the variables in this varlist
exists in the dataset I use. So as to get a quick overview which variables do not exist in the dataset.
I have tried the following code so far:
The code runs through but nothing is displayed. I've also tried intentionally inserting variables in the varlist
that do not exist in the dataset. Nothing changed.
Does anyone know how I can overcome this problem?
loops - 当某些变量不存在时保留变量列表
对于几个国家/地区,我有一个数据集,我想vlist
为每个国家/地区保留一个变量列表(在 global 中指定)。有些变量在某些国家不存在。
我希望 Stata 忽略这些变量的不存在并keep
为其余变量执行命令。然而,问题是for
国家层面的额外循环,我正在努力融入。
这个问题类似于这些线程中提出的问题:
最终,我希望为每个国家/地区提供一个数据集,该数据集仅包含在 中指定的那些变量vlist
(减去那些vlist
不存在的变量)。
这是代码,主要取自上面的线程:
但是,这会产生以下错误:
我希望这充分描述了我的问题,但如果有什么需要更多解释,请告诉我。
stata - 显示ranksum的结果
我正在尝试修改@Nick Cox 在我之前的问题中发布的代码中发布的代码,但我遇到了一些问题。
我已经设置了我varlist
和我的组变量。我还更改了col
选项以适合我的varname
. 我想添加每组的观察次数r(N 1)
/r(N 2)
并在结果列表中添加一些“标题”。
我正在尝试研究该display
命令,但我无法找到解决方案。
我的代码如下:
我无法将 和 的值放入结果列表r(N 1)
中r(N 2)
。此外,我不知道如何显示具有以下标题的列标题:
P 值,PValue2,Porder-观察。第 1 组 - 观察。第 2 组
你能帮我么?
stata - 用户可以决定是循环代码还是只运行一次?
在我的 .do 文件中,我使用 .do 向用户询问他们想要运行哪些回归的问题display _request(macroname)
。然后我解释他们的答案(yes
或者no
在大多数情况下)并定义另一个出现在回归代码中的宏。我这样做是因为有很多不同的选项来运行哪个回归,这使得选择运行哪个回归变得容易。
现在我想自动化一个过程,它循环遍历所有不同的选项,我认为在开始时添加一个额外的问题会很好。这将询问用户是否也不想费心回答问题,而是运行 64 种组合(其输出将保存到各种适当命名的不同 Word 文档中)。
所以我有需要运行的回归代码,但它需要在问五个问题后只运行一次,或者循环运行。
我可以将代码保存到宏中,然后指定何时运行代码吗?
编辑:我最好的解决方案是使用do
命令运行一个单独的 .do 文件。如果我需要更频繁地执行此操作,是否可以在不运行单独的 .do 文件的情况下完成此操作?
stata - 使用分类暴露变量导出回归结果
我想使用分类曝光变量运行几个线性回归并将结果输出到 Excel 表。
当曝光连续时,下面的代码可以正常工作。但是,对于分类曝光,代码仅输出第一行结果,而不是永远的曝光级别。
上面的代码只产生一行,估计第一级rep78
何时应该产生 4 行(rep78
是一个 5 级分类变量)。