変数state
には、11から99の整数値をとります。ラベルが付けられています。ラベル付き数値変数(Stata)から文字列変数を生成するにはどうすればよいですか?
文字列変数stateString
を作成して、これらの数値がすべて含まれていない文字列値を作成するにはどうすればよいですか?
gen stateString = tostring(state)
トリックを行いません。
変数state
には、11から99の整数値をとります。ラベルが付けられています。ラベル付き数値変数(Stata)から文字列変数を生成するにはどうすればよいですか?
文字列変数stateString
を作成して、これらの数値がすべて含まれていない文字列値を作成するにはどうすればよいですか?
gen stateString = tostring(state)
トリックを行いません。
tostring
は関数ではありません。それはコマンドであり、Stataでは2つのコマンドがかなり異なっています。推測だけでは、あなたが試した構文につながりません。
tostring stateString, gen(state)
が有効です。しかしtostring
は、機能のための単なるラッパーであるstring()
と
gen state = string(stateString)
も文字列変数を取得するために動作するはずです。
しかし、文字列の値は "11"、... "99"であり、それは間違ったアプローチです。値ラベルが与えられれば、この変数を数値として持つことができます。
実際に文字列変数を使用する場合はdecode
ではなくtostring
が必要です。
decode stateString, gen(state)
EDIT:tostring()
はない機能であった場合、構文tostring()
にのみ動作します。したがって、元の回答はOPのコードが間違っていた理由とそれを正しく行う方法を説明した。私はこの編集でdecode
の使い方を綴りました。
あなたはロジャー・ニューソンのコマンドsdecode
(ssc install sdecode
)をインストールする必要がありますし、それだけである:
sdecode state, gen(stateString)
あなたは**これを実行する**必要はありません。すでに説明したように、公式コードのみを使用するより直接的なソリューションがあります。 –