添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
     tempvar var1 var2 …

这里,tempvar是生成临时变量的基本命令,var1、var2代表临时变量的名称。确切地说,命令tempvar生成的是临时变量的名称,我们后面可以使用这些名称来生成临时变量,这些临时变量在程序结束时会被自动删除。此外,tempvar生成的变量名被保存在局部宏内,在后面引用时需要加引号。

临时变量的一个优点在于,即便内存中已存在相同名称的变量,也不必先将其删除,不会影响我们定义临时变量。

例如,我们要定义并生成两个临时变量x和y(可能内存中已有变量是这个名称,但没有关系),可输入命令:

     tempvar x y
     gen 'x'= …
     gen 'y'=…

第2步和第3步是生成相应的临时变量。这里没有给出具体的表达式,因为这完全视具体情况而定。需要注意的是,在命令tempvar之后,我们引用临时变量时都需要加上局部宏的引号。

类似的,定义临时矩阵或临时标量的命令为:

     tempname ms1 ms2 …

tempname是定义临时矩阵或临时标量的基本命令,ms1、ms2等代表临时矩阵或临时变量的名称。

同样的,定义临时文件的命令为:

     tempfile file1 file2 …

这里,file1、file2代表临时文件的名称。例如,在程序中可能会出现这样的命令:

     preserve  //保存初始数据
     tempfile males females //定义临时文件males和females
     keep if sex==1 /*保留变量sex取值为1的观测值*/
     save "`males'" /*将这些观测值保存到临时文件male中*/
     restore, preserve  //恢复原始数据
     keep if sex==0 //保留变量sex取值为0的观测值
     save "`females'" //将这些观测值保存到临时文件female中

与临时变量相同,在程序结束时,Stata会自动删除临时矩阵、临时标量或临时文件。