问题标签 [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 - 鉴于其中一些变量可能不存在,如何保留变量列表?
我有 100 个dta
文件。我有一个我需要的变量列表keep
并即时保存临时副本。某些变量可能存在,也可能不存在dta
。
我需要 Stata 保留 a 中存在的所有变量dta
并忽略那些不存在的变量。
以下代码有错误的语法,但它可以作为一个很好的伪代码,让人们大致了解应该做什么:
有没有办法做到这一点?
for-loop - 在循环中包含变量局部宏
使用forvalues
循环,我正在合并一个包含 400 个单独数据集的列表。
这些数据集可以是 10 个不同的值之一(由数据集中的变量定义):根据数据集,我会merge
使用不同的数据集。例如,如果 Player 90 是类型 9,我想合并Type_9.dta
而不是Type_8
or Type_7
。
我想要的是这样的:
如何将变量类型转换为通过循环为每种类型更改的宏?
loops - 如何使用宏操作文件名
我想将我的 Stataforvalues
循环的结果保存到单个文件中。文件名的一个组成部分应该是在循环中j
分配给宏的值。forvalues
显然我的代码会导致一条指令总是用1995
. 因此,我收到消息告诉我这个文件已经存在。
我正在使用以下代码:
有人对此有答案吗?
stata - "word # of string" 成语(扩展字符串函数的一部分)
我正在尝试forvalues
在 Stata 11.2 版的循环中标记变量。
但是,我无法让扩展字符串函数word # of string
习语工作:
这遵循Statalist 解决方案,但我不断收到invalid syntax
错误。
我也试过local names Growth Mature All
了,但这也不起作用。
有没有办法在算法上做到这一点?
r - 相当于Stata的宏
可以在 R 中使用宏吗?
我确实看过另一个与此类似的问题,但不能很好地理解它。
假设我想创建标量,每个标量都有不同的名称和内容。基本上,我想在 R 中运行的内容可以通过以下虚拟示例来说明:
在 Stata 中,asi
取不同的值,scalar1
生成scalar2
,scalar3
等。i=1/5
在运行循环时,我不必输入整个列表(只需)。
这可以在R中完成吗?
variables - 在公式中使用单元格值
如果我在 Stata 中有一个带有数字的变量,我可以使用嵌入在公式中的值吗?
例如,我可变天数 ( days
) 并且对于每个人,我想在第二个公式中使用该数字:
变量new_var
将取值并从列表中Days
提取相应的值:var_x
我努力了:
然而,这并没有奏效。
stata - 宏不断导致“无效名称”
在使用 R 很长一段时间后,我是 Stata 的新手。
我正在尝试执行任何涉及宏的操作,例如循环,并且它不断给我一个invalid name r(198)
错误。
例如,当我第一次启动 Stata 时,我在命令提示符中输入以下代码:
这导致:
同样,我尝试:
这会导致相同的invalid name
错误。
我显然在做一些根本错误的事情。我尝试将相同的命令放入do
文件并运行它们,但发生了同样的事情。
我想知道这是否与我如何运行该链接所暗示的代码有关,但没有任何建议对我有用。
我正在从服务器远程运行 Stata,如果这可能会影响任何事情。
stata - 观察子集的局部宏
我想为我的数据集的一个子集创建一个本地宏,以用于未来的回归(请参阅循环外宏的一些用途部分)。
我从以下几行代码开始:
x3
reg
有缺失值,因此在第一个命令中排除了一些观察结果。该list
命令的输出确实表明宏的内容确实是我想要的(Unit
是一个标识观察的变量)。
尽管如此,我在最后一个命令之后收到一条错误消息:
从以下信息r(111)
:
__________ 未找到;
没有定义变量;
变量不存在。您可能输入了错误的变量名称。
我的语法有什么问题?也就是说,为什么Stata将if
其视为变量?
regex - 如何从宏中提取唯一字符串?
我正在尝试reshape
使用Stata自动化。
我每年测量一系列变量。它们都被命名为varname_yy
,其中yy
是指测量年份的数字。我设法varname_
从变量中提取所有存根,并使用以下代码将它们放入宏中:
问题是我最终在stubs
宏中有许多重复的存根,这会导致reshape
返回错误消息。
在 RI 中只需要unique(stubs)
,但我在 Stata 中找不到任何此类功能。
我的暂定解决方案是执行以下操作:
但是,我无法摆脱重复项。
正确的做法是什么?
stata - 比较两个不同本地宏的元素
我有一个名为的本地宏peer_list
,它包含 280 个不同的元素,所有这些元素都是字符串。我还有另一个名为 local 的宏,它包含 localused_list
中包含的元素的子集peer_list
。
对于中的每个元素,peer_list
我想测试该元素是否在本地used_list
. 如果元素存在used_list
我想丢弃它,否则我想执行另一组条件。
我曾尝试使用以下代码,但没有奏效:
我将不胜感激有关实现此目的的替代方法的任何建议。