1. ホーム
  2. string

[解決済み] ラベル付き数値変数から文字列変数を生成する方法 (Stata)?

2022-03-11 19:19:15

質問

私は、変数 state というラベルが貼られています。

どうすれば、文字列変数 stateString このような数値のない文字列の値を持つことができますか?

gen stateString = tostring(state)

は効果がありません。

解決方法は?

tostring は関数ではなくコマンドであり、Stataではこの2つは全く別物です。推測の域を出ませんが、あなたが試した構文になります。

tostring state, gen(stateString) 

は動作するはずです。しかし tostring は単なる関数のラッパーです。 string()

gen  stateString = string(state) 

は、文字列変数を取得するためにも動作するはずです。

しかし、文字列の値は "11", ... "99" となり、これは間違ったアプローチです。値のラベルを考えると、この変数を数値として持つことは問題ないでしょう。

本当に文字列変数が必要な場合は decode ではなく tostring .

decode state, gen(stateString) 

EDIT: 構文 tostring() は、以下の場合にのみ機能します。 tostring() は関数ですが、そうではありません。元の回答は、このようにOPのコードがなぜ間違っているのかを説明し、また正しい方法を説明しています。私は、この編集で decode .

EDIT 2021 関数 string() は以前と同様に機能し、文書化されていますが、関数名 strofreal() が目立つようになりました。