stata 对变量批量重命名【整理】

时间:2024-05-21 13:49:51
  • 方法一:复制粘贴
    先在Excel填充好“rename”一列、“var1-var40”一列以及粘贴的变量名一列。然后将这三列拷贝到word,最后拷贝到stata的do文档中。
    stata 对变量批量重命名【整理】
  • 方法二:用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’)
    rename v'mnplnme’
    local mnplnum = `mnplnum’ + 1
    }
    end
    batrenvar

更改namelist进行批量重命名。
说明:

  1. #delimit; 意思是下边的代码可以分行写出来,以;作为这句代码的结束。#delimit cr 意思是断行命令到此结束。

  2. capture 的作用:第一,不显示结果(类似于quietly但比qui更决绝);第二就是能将错误代码返回给_rc,而不阻断后续命令的执行。如果capture 程序段落(block),则在错误发生时,返回错误代码给_rc,程序会跳出capture段,执行后续的命令。总之,它的主要作用在于不会导致整个程序因capture后的一行或一段命令有错误而终止。如果既想显示结果,又想不让程序因错误而终止并返回错误值,则使用 capture noisely +cmd。(来源:https://bbs.pinggu.org/thread-1549288-1-1.html)

  3. 命令“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 就可以得到这种类型更多的命名方式。
    stata 对变量批量重命名【整理】
    stata 对变量批量重命名【整理】
    stata 对变量批量重命名【整理】