我有一个变量state
,它取整数值从11到99.它被标记。
如何创建一个字符串变量stateString
,其中包含没有所有这些数值的字符串值?
gen stateString = tostring(state)
没有做到这一点。
答案 0 :(得分:6)
tostring
不是函数;这是一个命令,而在Stata中,两者是截然不同的。只有猜测才会导致您尝试的语法。
tostring stateString, gen(state)
应该有效。但tostring
只是函数string()
和
gen state = string(stateString)
也应该可以获取字符串变量。
但字符串值为“11”,......“99”,这是错误的方法。给定值标签,将此变量设为数字就可以了。
如果您真的想要一个字符串变量,则需要decode
,而不是tostring
。
decode stateString, gen(state)
编辑:语法tostring()
仅在tostring()
是函数时才有效,而不是。因此,原始答案解释了为什么OP的代码是错误的,以及解释如何正确地执行它。我在此编辑中详细说明了如何使用decode
。
答案 1 :(得分:1)
你必须安装Roger Newson的命令sdecode
(ssc install sdecode
),然后它就是:
sdecode state, gen(stateString)