我有一个变量state
,它采用从 11 到 99 的整数值。它被标记。
如何创建一个字符串变量stateString
,该变量具有没有所有这些数值的字符串值?
gen stateString = tostring(state)
不成功。
tostring
不是函数;这是一个命令,而在 Stata 中,两者是截然不同的。只有猜测会导致您尝试的语法。
tostring state, gen(stateString)
应该管用。但这tostring
只是函数的包装器string()
和
gen stateString = string(state)
也应该可以获取字符串变量。
但是字符串值将是“11”,...“99”,这是错误的方法。给定值标签,您可以将此变量设为数字。
如果你真的想要一个字符串变量,你需要decode
,而不是tostring
.
decode state, gen(stateString)
编辑:语法tostring()
只有在tostring()
是一个函数时才有效,但不是。因此,原始答案解释了为什么 OP 的代码是错误的,并解释了如何正确执行。我在此编辑中详细说明了如何使用decode
.
编辑 2021:该功能string()
仍然有效,并像以前一样记录在案,但strofreal()
现在突出显示了功能名称。
您必须安装 Roger Newson 的命令sdecode
( ssc install sdecode
),然后它就是:
sdecode state, gen(stateString)