对不起,如果这是基本的,但我似乎无法排除这个错误。我在调查中试图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
。
答案 0 :(得分:0)
您使用炮制数据的示例有效:
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的输出。