Stata基础:nrow + labone命令

学术   2024-11-28 11:28   四川  

1

nrow和labone命令简介

1.1 nrow 命令简介
nrow命令的语法如下:
nrow [row#] [, keep varlist(varlist)]
·row#设定将第 # 行的变量观测值命名为变量名,如果缺省,则默认设定第 1 行的变量观测值命名为变量名;
·选项keep设定保留第 # 行的变量观测值,如果该选项缺省,则默认删除第 # 行的变量观测值;
·选项varlist(varlist)设定需要重命名的变量,如果该选项缺省,则默认对全部变量_all进行重命名。
值得关注的是,nrow命令存在一个比较严重的 bug,即当某些变量第 # 行的观测值中存在空格" ",逗号",",井号"#"等特殊符号时,则nrow命令无法顺利完成重命名。
上述 bug 可以采用正则表达式函数进行解决。
1.2 labone 命令简介
labone 命令的语法如下:
labone [varlist] [,options]
·varlist 设定需要设定变量标签名的变量列表,如果缺省,则默认对全部变量 _all 设定新的标签名;
·nrow(numlist) 设定将第 numlist 行的变量观测值命名为变量标签名,其中,numlist 是一组行号的列表,如果该选项缺省,则设定第 1 行的变量观测值命名为变量标签名;
·concat(concat_strings) 设定指定的字符串连接来自不同行的内容;如果该选项缺省,默认情况下是用空格连接;    
·选项 nospace 设定不采用空格连接不同行的内容。

2

stata操作

2.1 命令安装
外部命令 nrow 和 labone的安装代码如下:
2.2导入数据到 Stata
在这里,本文直接手工输入一份数据集用来演示。其中,为了说明 nrow 命令的 bug ,我故意在第 1 行观测值中添加了一些特殊符号。
2.3去除某些变量第 # 行观测值中的特殊符号
如果不去除示例数据集中第 1 行观测值中的特殊符号,直接使用 nrow 命令会出现以下问题。
可以看到,A 变量和 C 变量没有成功重命名,而 B 变量虽然成功重命名,但是为了符合 Stata 变量命名的要求,直接在变量开头添加了下划线,且 5Rept@dt 中间的特殊符号被强制替换为下划线"_"。    
我们采用支持正则表达式的字符型函数可以解决上述问题,详细代码如下:         
可以看到,原变量 A,B,C 都成功被重命名为第 1 行观测值的内容。
2.4设定变量标签名为指定行的观测值内容
采用 labone 命令可以方便快捷地设定变量标签名为指定行的观测值内容。         
2.5删除前 2 行观测值,转换变量存储类型
最后,直接使用 drop 命令和 destring 命令完成数据的最终处理。         
至此,我们可以总结出巧妙使用 nrow + labone 命令组合解决变量名和变量标签名重命名问题的关键要点。

资源获取方式


1、点亮文章底部“在看”图标


2、关注“社科学术汇”公众号


点击公众号右上角三个点-设为星标



3、点击“发消息” 在后台发送关键词

NROW+LABONE命令

按照提示获取资源哦


扫码添加客服微信|领取课程大额优惠券

         

 

         

 

         

 

   

社科学术汇
传播前沿知识信息,助力社科实证研究
 最新文章