String 如何从带标签的数字变量(Stata)中生成字符串变量?
我有一个变量String 如何从带标签的数字变量(Stata)中生成字符串变量?,string,label,stata,String,Label,Stata,我有一个变量state,它取11到99之间的整数值。它有标签 如何创建一个字符串变量stateString,该变量将具有字符串值,而不包含所有这些数值 genstatestring=tostring(state) 这没用 tostring不是一个函数;这是一个命令,在斯塔塔,这两者是截然不同的。只有猜测才能得出您尝试过的语法 tostring state, gen(stateString) 应该有用。但是tostring只是函数string()和 gen stateString = str
state
,它取11到99之间的整数值。它有标签
如何创建一个字符串变量stateString
,该变量将具有字符串值,而不包含所有这些数值
genstatestring=tostring(state)
这没用
tostring
不是一个函数;这是一个命令,在斯塔塔,这两者是截然不同的。只有猜测才能得出您尝试过的语法
tostring state, gen(stateString)
应该有用。但是tostring
只是函数string()
和
gen stateString = string(state)
还应该用于获取字符串变量
但是字符串值应该是“11”。。。“99”,这是错误的方法。给定值标签,您可以将此变量设置为数字
如果确实需要字符串变量,则需要decode
,而不是tostring
decode state, gen(stateString)
编辑:语法tostring()
只有在tostring()
是函数时才有效,而函数不是。因此,最初的答案解释了OP代码错误的原因,并解释了如何正确执行。我在这篇编辑文章中详细说明了如何使用解码
编辑2021:函数
string()
仍能正常工作,并像以前一样记录在案,但函数名strofreal()
现在被突出显示。您必须安装Roger Newson的命令sdecode
(ssc安装sdecode
),然后它就是:
sdecode state, gen(stateString)
你不需要这样做。如前所述,有更多直接的解决方案仅使用官方代码。