問題タブ [stata-macros]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
stata - マクロへの値の範囲の割り当て
for
ループを使用して変数のリストの名前を変更しようとしています。
私のコードは次のようになります。
k
手動で書かずにマクロに範囲を割り当てることができるかどうか疑問に思っていました。2 つの値の間のデルタは 1 ではないことに注意してください。
r - スタブ名のローカル マクロ リストに対する Stata の for ループに相当する R
私は R に移行しようとしている Stata ユーザーですが、どうしてもやめられない Stata の松葉杖が 1 つあります。これは、R の「適用」関数で同等のことを行う方法がわからないためです。
Stata では、スタブ名のローカル マクロ リストを生成し、そのリストをループして、それらのスタブ名から名前が作成された変数を呼び出すことがよくあります。
簡単な例として、次のデータセットがあるとします。
2 つの新しい変数を生成したいと思います。これらの変数は、年が 6 の場合はそれぞれ、年が 7 の場合はそれぞれ、年が 8 の場合はvarX
とvarY
の値をとりvarX06
ます。varY06
varX07
varY07
varX08
varY08
最終的なデータセットは次のようになります。
melt
明確にするために、コマンドでこれを実行できることを知っていreshape
ます-基本的にこのデータをワイドフォーマットからロングフォーマットに変換しますが、それに頼りたくありません。それは私の質問の意図ではありません。
私の質問は、R でスタブ名のローカル マクロ リストをループする方法についてです。この単純な例を使用して、より一般的なジレンマを説明しています。
Stata では、スタブ名のローカル マクロ リストを生成できます。
そして、マクロ リストをループします。varX
年が 6 の場合、新しい変数orを生成し、varY
新しい変数値を(それぞれ) varX06
orの値に置き換えることができます。varY06
最後のセクションは、R で複製するのが最も難しいと思われるセクションです'x'06
。私が . さらに、 を記述する'i'
と、Stata は文字列 "'i'" ではなく文字列 "varX" を返します。
Rでこれらのことを行うにはどうすればよいですか?
Muenchen の「R for Stata Users」を検索し、ウェブをグーグルで検索し、ここ StackOverflow で以前の投稿を検索しましたが、R ソリューションを見つけることができませんでした。
この質問が初歩的な場合は申し訳ありません。以前に回答されている場合は、その回答に誘導してください。
前もってありがとう、
タラ
types - ローカル マクロに格納されている値を文字列から数値に変更するにはどうすればよいですか?
"$S_DATE"
マクロに格納された年に応じて、年がずれている変数を生成したいと考えています。年を次の名前のマクロに保存しましたdate
。
そして、次のように新しい変数を生成したい:
ここy_passed
で、1 から 10 までの整数を含む変数です。
しかし、私は得る:
保存されたマクロが文字列であるため、これが発生することはわかっています。
ローカル マクロに格納されている値を文字列から数値に変更するにはどうすればよいですか?
subset - データのサブセットを一連の整数に置き換える
次のようなデータセットがあります。
欠損値に対応する一連の整数を入力したいと思いますid
。
forvalues
最初は、次のようにループを使用することを考えました。
しかし、それは(明らかな理由で)1
最初の反復中にすべての欠損値を置き換えるだけです。
次に、行のインデックス付けによってループをデータのサブセットに制限することを考えました (R のように) が、この機能は Stata(?) には存在しないようです:
この一見単純なタスクを Stata で実行するにはどうすればよいでしょうか?
foreach - グループによる分析と印刷用の変数からの値の抽出
私は少しグループごとの処理を行っており、学校ごとにいくつかの回帰を実行しています。
私がやりたいのは、出力をいくらかカスタマイズして、どの出力がどの学校に属しているかを確認できるようにすることです。foreach
しかし、私はそれを機能させるような方法でまたはを処理できないようですforvalues
。私は と のさまざまな反復を試みましたがforeach
、forvalues
ある程度の成功を収めました。
私が今やろうとしているのは、 の値を行schoolname
に表示することdi
ですが、成功していません。
以下に、ダミーのデータとコードをいくつか示します。
注: この質問は、 Statalistにもクロス投稿されています。