我有一个变量 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()
现在突出。
关于string - 如何从标记的数字变量(Stata)中生成字符串变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17258778/