【问题标题】:Stata Error: Variable Name Invalid?Stata 错误:变量名无效?
【发布时间】:2015-09-18 11:30:53
【问题描述】:

如果这是基本问题,我很抱歉,但我似乎无法解决此错误。我正在尝试tabout 调查中的特定问题。

我的代码:

qui: ds Q3_9-Q3_11b, has(type numeric)

foreach i in `r(varlist)'  {
   qui: tabout `i' using "H:\Electricity1.xls", c(prop ci) f(3) svy append show(none) clab("`i'")
   }

错误是

Q3.10 无效名称

但为什么这是一个无效的名称?

变量名是Q3_10,标签是Q3.10

【问题讨论】:

    标签: stata


    【解决方案1】:

    您使用混合数据的示例有效:

    clear 
    set more off
    
    *----- example data -----
    
    set obs 5
    
    gen Q3_9 = 33
    gen Q3_10 = "dog"
    gen P4_5 = 56
    gen Q3_11b = 24
    gen weight = runiform()
    
    svyset weight
    
    qui: ds Q3_9-Q3_11b, has(type numeric)
    display "`r(varlist)'"
    
    *----- what you want -----
    
    foreach i in `r(varlist)' { 
        qui: tabout `i' using "H:\Electricity1.xls", ///
            c(prop ci) f(3) svy append show(none) clab("`i'")
    }
    

    首选是

    foreach i of varlist `r(varlist)' { 
        qui: tabout `i' using "H:\Electricity1.xls", ///
            c(prop ci) f(3) svy append show(none) clab(`i')
    }
    

    因为您明确表明您的列表包含变量。此外,Stata 会检查列表中的变量是否存在,因此在进入循环之前会捕获任何相关错误。

    clab() 选项适用于引号,但 help 文件表明您不需要它们。)

    如果您仍有问题,请在循环之前运行 describe 并编辑您的问题以包含 Stata 的输出。

    【讨论】:

    • 在这种情况下,-ds- 的输出保证是一个varlist;这就是命令的重点!所以任何一种语法都很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    相关资源
    最近更新 更多