首页 > 其他分享 >stata 重命名

stata 重命名

时间:2023-04-16 09:01:14浏览次数:33  
标签:重命名 rename stat noobs jan Num stata

rename 批量重命名

2.1 圆括号与批量重命名

rename (old1 old2 ...) (new1 new2 ...) [,options]

将需要批量重命名的变量放置在第 1 对圆括号中,新的变量名放置在第 2 对圆括号中,这个操作方法比较简单粗暴,主要有以下几种应用场景:

* 将 stat 重命名成 status,inc 重命名成 income,equ 重命名成 equity
rename (stat inc equ) (status income equity)

* 交换 v1 和 v2 的变量名
rename (v1 v2) (v2 v1)

* 将变量名大写 (还可以使用小写 lower,首字母大写 proper)
rename a b c, upper

2.2 通配符与批量重命名

首先了解一下在重命名过程中可能使用到的几个通配符:

  • *:表示任意多个字符;
  • ?:表示 1 个字符;
  • #:表示 1 位或多位数字,其中 (#) 表示 1 位数字,(##) 表示 2 位数字,以此类推。

接下来通过代码来了解一下 rename 和通配符的组合使用:

* 把前缀为 jan 的变量全部重命名为后缀为 1 的变量名,如 janstat → stat1
rename jan* *1
* 去掉 jan 前缀
rename jan* *
* 去掉 jan 后缀
rename *jan *
* 将前缀为 jan 的四位字符重命名为后缀为 1 的两位字符,如 jans → s1,janstat 不会发生变化
rename jan? ?1
* 删除 jan,如 janstat 重命名为 stat,injanstat → instat,subjan → sub
rename *jan* **
* 命名为 jan 前的字符,如 injanstat → in,statjan → stat
rename *jan* *
* 命名为 jan 后的字符,如 injanstat → stat
rename *jan* .*
* 为后缀为 pop 的变量名增加前缀 jan,如 age1pop → janage1pop
rename *pop jan=
* 所有变量增加前缀 pre
rename whatever pre=
* 所有变量增加后缀 jan
rename whatever =jan
* 所有变量增加前缀 pre 且增加后缀 fix
rename whatever pre=fix
* 将由字母 v+ 数字的变量名重命名为 stat+ 数字,如 v1→stat1
rename v# stat#
* 增加括号后表示重命名 v 后面跟 1 位数字的变量,v10 不会被重命名
rename v(#) stat(#)
* stat10 → stat_2010,stat2 不会发生改变
rename stat(##) stat_20(##)
* stat1 → stat_2001,stat10 不会发生改变
rename stat(#) stat_200(#)
* 重命名为倒序变量名,如 v8 → v1,v7 → v2,v6 → v3
rename v# v#, renumber sort
* 数字起始值 10,如 v1 → v10,v2 → v11
rename v# v#, renumber(10)
* a → v1,b → v2,c → v3
rename (a b c) v#, addnumber
* a12 → a21,a32 → a23
rename a(#)(#) a(#)[2](#)[1]

3. rename 命令选项

  • addnumber:在末尾添加顺序编号;
  • addnumber(#):在末尾添加指定起始值的顺序编号;
  • renumber:按顺序重新编号;
  • renumber(#):指定起始值开始顺序编号;
  • sort:编号前进行排序;
  • dryrun:报告但不进行重命名;
  • r:将变量名储存在 r() 中,编程时调用;
  • upper:将字母转换为大写;
  • lower:将字母转换为小写;
  • proper:将字母转换为首字母大写。

4. 实例应用

. clear
. * 随意生成几个以 number 开头的变量
. set obs 1
. forval i = 8/12{
  2.     gen num`i'=_n
  3. }
. list, noobs
  +-------------------------------------+
  | num8   num9   num10   num11   num12 |
  |-------------------------------------|
  |    1      1       1       1       1 |
  +-------------------------------------+

. * 将这些变量更改为首字母大写
. rename *, proper
. list, noobs
  +-------------------------------------+
  | Num8   Num9   Num10   Num11   Num12 |
  |-------------------------------------|
  |    1      1       1       1       1 |
  +-------------------------------------+

. * 将 Num8 重命名为 Num_2008
. rename Num(##) Num_20(##)
. rename Num(#) Num_200(#)
. list, noobs
  +------------------------------------------------------+
  | Num_2008   Num_2009   Num_2010   Num_2011   Num_2012 |
  |------------------------------------------------------|
  |        1          1          1          1          1 |
  +------------------------------------------------------+

. * 将年份重新以数字 5 为基准重新编码
. rename Num_# Num_#, renumber(5)
. list, noobs
  +---------------------------------------+
  | Num_5   Num_6   Num_7   Num_8   Num_9 |
  |---------------------------------------|
  |     1       1       1       1       1 |
  +---------------------------------------+

. * 在 Num 后增加 ber 后缀
. rename Num_# Number_#
. list, noobs
  +------------------------------------------------------+
  | Number_5   Number_6   Number_7   Number_8   Number_9 |
  |------------------------------------------------------|
  |        1          1          1          1          1 |
  +------------------------------------------------------+

. * 去掉后缀 ber
. rename *ber_# *_#
. list, noobs
  +---------------------------------------+
  | Num_5   Num_6   Num_7   Num_8   Num_9 |
  |---------------------------------------|
  |     1       1       1       1       1 |
  +---------------------------------------+

. * 使用圆括号命名前三个变量
. rename (Num_5 Num_6 Num_7) (一 二 三)
. list, noobs
  +------------------------------+
  | 一   二   三   Num_8   Num_9 |
  |------------------------------|
  |  1    1    1       1       1 |
  +------------------------------+

. * 为汉字增加数字后缀
. rename (一 二 三) num#, addnumber
. list, noobs
  +------------------------------------+
  | num1   num2   num3   Num_8   Num_9 |
  |------------------------------------|
  |    1      1      1       1       1 |
  +------------------------------------+

标签:重命名,rename,stat,noobs,jan,Num,stata
From: https://www.cnblogs.com/xkdn/p/17322510.html

相关文章

  • 批量改名高手软件批量重命名TXT文档文件的方法
    最近有很多朋友在问,如何管理文件?比如说各种形式的文件该怎么批量重命名呢?今天小编能给大家分享一个新的处理技巧,下面一起来试试。材料准备:一台Win系统的电脑安装一个文件批量改名高手文件素材若干步骤演示:步骤1:打开【文件批量改名高手】,在“文件批量重命名”中,单击“添加文件”步骤......
  • Stata中的治疗效果:RA:回归调整、 IPW:逆概率加权、 IPWRA、 AIPW|附代码数据
    全文链接:http://tecdat.cn/?p=10148最近我们被客户要求撰写关于Stata中的治疗效果的研究报告,包括一些图形和统计输出。今天的主题是Stata中的治疗效果。治疗效果估算器根据观察数据估算治疗对结果的因果关系。我们将讨论四种治疗效果估计量:RA:回归调整IPW:逆概率加权I......
  • AI助手帮你轻松做好Imagenet数据集重命名与复制
    AI助手帮你轻松做好Imagenet数据集重命名与复制任务需求我们对Imagenet数据集进行了水下的退化处理,保存的数据集所有图片的深度图,格式为.npy。但是命名存在一些问题,现有格式为:n02009912_1916.JPEG.npy,需要更改为n02009912_1916.npy,因此尝试用ChatGPT对数据集进行批量处理要求点......
  • STATA 值标签相关操作
    labeldir//显示所有值标签对应的变量名labellist//显示所有带有值标签的变量名,并且显示具体的值标签及对应值labellistorigin//显示指定带有值标签的变量史,并且显示具体的值标签及对应值//使用举例:usece11,clearlist//+------------------------------------......
  • STATA 日期型数据显示格式调整
    useceshi1,clear.list//+--------------------+//|A3_1A3_2A3_3|//|--------------------|//1.|196752|//2.|1945822|//3.|1949314|//4.|1986616|//5.|195......
  • STATA 用变量原有值标签的显示值来代替,删除原有的值标签
    .des//变量provinces对应的值标签s41lab//Containsdatafrom1xx.dta//Observations:10//Variables:26Apr202312:14//---------------------------------------------------------------------......
  • 如何给文件批量重命名?选中文件后F2,还有比它更好的方法?​
    电脑键盘上的F2确实是一个重命名键,但是它需要一个个手动点,缺少了点速度,而且电脑永久了文件就会越来越多,不好手动弄,下面随小编一起用这个新的处理技巧来快速重命名文件。需要哪些工具?安装一个文件批量改名高手文件素材若干怎么快速重命名?步骤1:打开【文件批量改名高手】,在“文件批量......
  • 如何管理杂乱无章的文件?文件夹批量重命名​
    大家有没有遇到过电脑文件、文件夹太多,管理起来特别麻烦,感觉杂乱无章,眼花缭乱。今天小编给大家分享一个新的处理技巧,可以让你轻松管理文件夹,让你不会再有杂乱的感觉,批量重命名你的文件夹,让你的文件夹按照统一的命名方式。材料准备:一台WIn系统的电脑安装一个文件批量改名高手文件夹......
  • Python实践(2):文件批量重命名
    最近的工作中遇到了这样的问题:某一批文件以"XXX_1.xxx","XXX_2.xxx"..."XXX_11.xxx","XXX_12.xxx"...命名,在我的电脑上它是以数字从小到大的方式排序的,但在另一台设备上......
  • stata:合并merge时如何处理关键变量外的同名变量的值分三种情况
    useceshi1,clearlist////+------------------------------------------------------+//|idks2019ks2020ks2021ks2022ks2023ab|//......