当列表长度超过244个字符时,如何在Stata中存储变量名称列表?

时间:2013-04-03 20:42:07

标签: plugins stata

我正在编写Stata插件,插件需要知道访问数据的变量顺序。为了解决这个问题,我构建了一个C ++函数,用于搜索包含变量列表的宏以获取正确的位置。但是,这受到Stata中字符串长度的限制。

我目前正在获取变量列表,如下所示:

qui ds
local varlist = "`r(varlist)'"

但这只会给我前244个字符。

有没有办法可以获得一个包含所有变量名称的宏,即使列表长度超过244个字符?有没有其他有效的方法可以将变量放入我的插件中?

2 个答案:

答案 0 :(得分:1)

听起来它可能与评估宏有关:

The Stata Journal(2008) 8,第4期,第586-587页 Stata提示70:注意评估等号 Nicholas J. Cox

答案 1 :(得分:0)

虽然,阅读上述书籍将有助于您理解宏,

一个简单的解决方案使用"`r(varlist)'"中的引文传递到本地

local macroname followedbyyourlongstringthatislongerthan244characters

稍后通过

进行评估

di "`macroname'"

瞧,请查看你的长串!

您也可以将当地人传递给当地人

local newmacroname `oldmacroname'

并检查

di "`newmacroname'"