- 方法一:复制粘贴
先在Excel填充好“rename”一列、“var1-var40”一列以及粘贴的变量名一列。然后将这三列拷贝到word,最后拷贝到stata的do文档中。
- 方法二:用local rename 命令写循环
capture program drop batrenvar
program batrenvar
#delimit ;
local namelist id
name ipodate soe
induname labor prov;
#delimit cr
local mnplnum = 1
foreach v of var _all {
local mnplnme = word("namelist'",
mnplnum’)
renamev'
mnplnme’
local mnplnum = `mnplnum’ + 1
}
end
batrenvar
更改namelist进行批量重命名。
说明:
-
#delimit; 意思是下边的代码可以分行写出来,以;作为这句代码的结束。#delimit cr 意思是断行命令到此结束。
-
capture 的作用:第一,不显示结果(类似于quietly但比qui更决绝);第二就是能将错误代码返回给_rc,而不阻断后续命令的执行。如果capture 程序段落(block),则在错误发生时,返回错误代码给_rc,程序会跳出capture段,执行后续的命令。总之,它的主要作用在于不会导致整个程序因capture后的一行或一段命令有错误而终止。如果既想显示结果,又想不让程序因错误而终止并返回错误值,则使用 capture noisely +cmd。(来源:https://bbs.pinggu.org/thread-1549288-1-1.html)
-
命令“program batrenvar ”实际上是要创建一个名为batrenvar的程序。当我们开始编写一个新程序时,经常建立的是不完全的或者是不成功的初步版本,命令“program drop”允许我们从内存中清楚程序,以便我们能够定义一个新的版本。“program drop batrenvar”就是要先清楚之前的版本,保证这一命名没有和以往写的程序冲突。
- 方法三 rename group命令
help rename
help rename group
rename var1 no_married //单个变量重命名
rename group (var1 var2 var3 )(industry occupotion age) // 多个变量重命名 - 方法四 renvars命令
这一命令适合有规律的命名方式,比如在所有命令前加入字符“pr”,就可以输入:
renvars _all, pref(pr)
help renvars 就可以得到这种类型更多的命名方式。