Как сделать так, чтобы плагин Stata не зависел от порядка переменных?

Я пишу плагин для Stata в C ++, и мне кажется, что доступ к данным зависит от порядка переменных, передаваемых плагину, как SF_vdata() принимает только целочисленные аргументы для индексации переменных.

Лучшее решение, которое у меня есть на данный момент, — это первый запуск ds, сохраните макрос, содержащий все имена переменных, а затем вызовите мой плагин. Мой плагин может затем найти в макросе интересующую его переменную и получить базу индекса, указав свою позицию в списке.

Это работает, но я бы хотел, чтобы мой плагин не зависел от определенных команд Stata, запускаемых первыми. Я знаю, что это глупо, так как плагин требует, чтобы набор данных был отформатирован особым образом, но что-то не так с первым вызовом ds и сохранить макрос перед вызовом моего плагина.

Есть ли в любом случае доступ к порядку имен переменных внутри плагина, если ds не называется первым?

1

Решение

Я согласен с Ником. К сожалению, ваше решение для макросов — единственный ответ, и я им пользуюсь. Вы можете получить доступ к данным напрямую, только используя функции SF_data, как «матрицу», и это все, что вы получаете по умолчанию, нет таких заголовков, как в таблице. Я использую макросы, чтобы сохранить всю информацию данных и передать весь набор данных, читая интересующую меня переменную, как и вы, и даже написал переводчики, чтобы сохранить настройки формата, но еще не использовал метки значений.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]