Stata 我无法理解的状态循环
我了解到,要将小写变量名更改为大写变量,我需要执行以下操作:Stata 我无法理解的状态循环,stata,Stata,我了解到,要将小写变量名更改为大写变量,我需要执行以下操作: foreach var of varlist * { rename `var' `=upper("`var'")' } 但我不明白这到底是怎么回事 首先,重命名不需要=来更改变量名 其次,我明白我需要用“和”来拥抱var 但是“和”是什么意思呢 =uppervar' 你不需要那样做。您不需要循环,也不需要这种语法。考虑 . sysuse auto, clear (1978 Automobile Data) . ds make
foreach var of varlist * {
rename `var' `=upper("`var'")'
}
但我不明白这到底是怎么回事
首先,重命名不需要=来更改变量名
其次,我明白我需要用“和”来拥抱var
但是“和”是什么意思呢
=uppervar'
你不需要那样做。您不需要循环,也不需要这种语法。考虑
. sysuse auto, clear
(1978 Automobile Data)
. ds
make mpg headroom weight turn gear_ratio
price rep78 trunk length displacement foreign
. rename *, upper
. ds
MAKE MPG HEADROOM WEIGHT TURN GEAR_RATIO
PRICE REP78 TRUNK LENGTH DISPLACEMENT FOREIGN
否则你会对这个问题感到困惑
`= '
因为事实上,这与重命名无关。该语法强制Stata动态计算标量表达式,以便rename只看到该表达式的结果。在您的例子中,字符串表达式
upper("`var'")
生成本地宏变量中包含的变量名的大写版本
此语法记录在帮助宏和[p]宏中,例如。
p、 13作为一种展开算子
尽管如此,所有变量名的大写形式都很糟糕