我正在用C ++编写Stata插件,在我看来,访问数据取决于传递给插件的变量的顺序,因为SF_vdata()
只需要整数参数来索引变量。
我目前最好的解决方案是首先运行ds
,存储包含所有变量名称的宏,然后调用我的插件。然后我的插件可以在宏中搜索它感兴趣的变量,并获得索引库在列表中的位置。
这有效,但我希望我的插件不依赖于先运行某些Stata命令。我知道这很愚蠢,因为插件需要以特定的方式格式化数据集,但是在调用我的插件之前首先必须调用ds
并存储宏时会出现问题。
如果首先没有调用ds
,是否仍然可以从插件中访问变量名称的顺序?
答案 0 :(得分:0)
我同意尼克。不幸的是,您的宏解决方案是唯一的答案,也是我使用的。您只能使用SF_data函数直接访问数据,作为"矩阵",并且默认情况下都是这样,表中没有标题。我使用宏来保存所有数据信息并传递整个数据集,读取我感兴趣的变量,就像你一样,甚至编写翻译来保留格式设置,但还没有使用值标签。 / p>