1

私は C++ で Stata 用のプラグインを作成していますが、データへのアクセスはプラグインに渡される変数の順序に依存しているように思えSF_vdata()ます。

現時点での最善の解決策は、最初に を実行しds、すべての変数名を含むマクロを保存してから、プラグインを呼び出すことです。私のプラグインは、関心のある変数のマクロを検索し、リスト内のその位置からインデックス ベースを取得できます。

これは機能しますが、プラグインが最初に実行される特定の Stata コマンドに依存しないようにしたいと考えています。dsプラグインではデータセットを特定の方法でフォーマットする必要があるため、これがばかげていることはわかっていますが、プラグインを呼び出す前に最初にマクロを呼び出して保存する必要があることに何か違和感があります。

ds最初に呼び出されない場合、プラグイン内から変数名の順序にアクセスする方法はありますか?

4

1 に答える 1

0

私はニックに同意します。残念ながら、あなたのマクロソリューションが唯一の答えであり、私が使用しているものです。SF_data関数を「マトリックス」として使用してデータに直接アクセスすることしかできません。デフォルトで取得できるのはそれだけで、テーブルのようなヘッダーはありません。私はマクロを使用してすべてのデータ情報を保存し、データセット全体を渡し、興味のある変数を読み取ります。あなたと同じように、フォーマット設定を保持するトランスレータを作成しましたが、値ラベルはまだ使用していません。

于 2015-03-14T05:18:06.777 に答える