如何从标记的数字变量(Stata)生成字符串变量?

时间:2013-06-23 08:03:14

标签: string label stata

我有一个变量state,它取整数值从11到99.它被标记。

如何创建一个字符串变量stateString,其中包含没有所有这些数值的字符串值?

gen stateString = tostring(state)

没有做到这一点。

2 个答案:

答案 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的命令sdecodessc install sdecode),然后它就是:

sdecode state, gen(stateString)