STATA 杂
// 标量(scalar),用于存储稍后要调用的数值或字符串。r类对象和e类对象的结果都包含标量。命名标量时要注意优先级问题:如果一个变量和一个标量同名,Stata将认为用户正在调用该变量 sca x1=6 sca a1="hello world" disp x1 a1 scalar list // 宏(macro)是链接到文本的名称。全局宏具有全局作用域,可以在整个Stata中使用。注意全局变量的使用,因为它们可能导致命名冲突。调用自带数据集 // 全局宏使用global语句,例如定义全局地址、定义一组变量: global path "D:\Download" cd $path global myGlobal price mpg length su $myGlobal 局部宏使用local语句,只在函数(program)、循环(loop)或者 .do文件里面使用: local myLocal price mpg length su `myLocal' // 注意,全局宏的调用采用的是美元符号($),而局部宏的调用采用的是两个不同的撇符号(`')。 sysuse auto,clear levelsof rep78, local(levels) foreach x of local levels { di in yellow "`x' is a unique value of rep78" } // 1 is a unique value of rep78 // 2 is a unique value of rep78 // 3 is a unique value of rep78 // 4 is a unique value of rep78 // 5 is a unique value of rep78 local varLab: variable label foreign di "`varLab'" local varLab2 = strtoname("`varLab'") rename foreign `varLab2'
cap:ssc install filelist filelist,pattern("*.dta") Number of files found = 162 //产生新变量wanted,要求states是alabama或colorado,year只能是2002或2004 gen wanted = inlist(States, "Alabama", "Colorado") /// & inrange(year, 2002, 2004)
local myfile:dir . files "*.dta"