stata - Stata 中的 Numlist 限制低于“帮助限制”建议

标签 stata

我正在使用 Stata 命令 synth,它采用 numlist 作为参数。

我需要 numlist 来获取 2,000 多个值。请注意,在这种情况下,forvalues 不是一个可行的解决方法,除非我弄错了。我使用的是 Stata MP 13.1。在 help limit 中,它表示 numlist 的大小限制为 2,500。但是,当我运行以下代码时,我收到错误代码“r(123) 无效的 numlist 有太多元素。”

foreach i of numlist 1/1601 {
   display `i'
}

此代码运行时没有错误:

foreach i of numlist 1600{
    display `i'
}

有没有办法允许numlist大于 1,600 个元素?另外,为什么帮助限制告诉我我有 2,500 个可以使用,但不允许超过 1,600 个?

编辑添加:nlist,用于解析numlist,指定最大值为1,600。那么也许 1,600 是合适的最大值?在这种情况下,帮助限制页面似乎不正确。

第二次编辑添加:synth 是一个匹配命令,您为其提供一个numlist 控制单元以包含在匹配过程中。因此,如果您的面板包含 2000 个单元和 10 个时间段,您可以指定 1,999 个单元作为潜在控制单元。可能可以使用forvalues,但需要对synth ado 文件进行一些显着的编辑。

最佳答案

尝试连接数字列表,或使用forvalues:

set more off

// option 1, or some variation
numlist "1/1600"
local firstlist `r(numlist)'

numlist "1601/1603"
local all `firstlist' `r(numlist)'

foreach i of local all {
   display `i'
}

// option 2
forvalues i = 1/1603 {
   display `i'
}

forvalues 被记录为速度更快,因此,如果可以的话,请使用它。

“宏中的字符数”有限制,具体取决于 Stata 风格,如帮助限制中所述:

8,681
165,200
1,081,511

更新

但这不起作用:

foreach i of numlist `all' {
   display `i'
}

报告

invalid numlist has too many elements r(123);

因此,如果用户编写的命令解析为 numlist,您也可能会遇到问题。我的建议是尝试并报告。

关于stata - Stata 中的 Numlist 限制低于“帮助限制”建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33804271/

相关文章:

vim - 为脚本语言创建标签以便在 vim 中轻松浏览

macos - 未找到 stata-se、xstata-se 命令

latex - 如果子组的 -tabstat- 中缺少值,则省略汇总统计数据

r - 比较回归模型与 R

if-statement - 使用语法的程序中的硬编码和可选 [if] 语句

data-visualization - 如何在Stata中的同一张图上叠加多个图?

excel - 一次导入 300 个 Excel 文件(Stata)

algorithm - 具有多个变量的数据管理

r - PLM 包的异方差稳健标准误差

stata - Stata中的文件路径