原本的变量名处在变量值的位置,如何重新提取变量名
Posted kooshine
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原本的变量名处在变量值的位置,如何重新提取变量名相关的知识,希望对你有一定的参考价值。
在日常工作中,我们导入的数据常常不那么规范,如下图所示,原本的变量名处在变量值的位置,若要重新提取变量名,单个变量依次重命名显然繁琐,那么我们有什么快捷的方法呢?
convert_top_lines
ssc install convert_top_lines
使用该命令可以将数据集中的第一、第二行观察值分别转化为变量名、变量标签。值得注意的是,
这里的数据集需符合以下两个条件:
(1)数据集中所有变量均为字符型变量;
(2)数据集原始变量名必须为“v1、v2、v3…”的形式。
第二个条件太苛刻了,看来这个命令不实用。
抱歉,我上句话说错了,这个命令很实用,在使用命令
convert_top_lines
前,先输入一条命令renvarlab A-Lv1-v12
即可。
使用命令renvarlab A-Lv1-v12
后的效果:
现在直接使用convert_top_lines
命令,实现目标变量名如下:
或者,也可加上drop选项,删除第一行观察值,使变量值更美观,效果如下:
上述命令总结为:
import excel using auto1.xlsx, clear //数据集变化,需要重新导入、命名
renvarlab A-Lv1-v12
convert_top_lines,drop
对于原数据集的第二行观察值,若要用作变量标签,则增加选项line2labels
.
因为数据库的数据导出形式通常为:第一行为变量名,第二行为变量名的说明,即标签。
我们也可通过list选项观察数据集前三行数据情况来做检查:
import excel using auto1.xlsx, clear
renvarlab A-Lv1-v12
convert_top_lines, line2labels drop list //增加drop选项不影响list输出内容
注意
convert_top_lines命令修改变量名时,会默认所有变量名小写,原本存在的大写格式都会被取代。
该命令的基本语法如下:
convert_top_lines[, line2labels list drop]
命令可单独使用,表示仅将第一行观察值作为变量名,且该行观察值在转化后的数据集中仍保留。convert_top_lines命令后添加的选项,有以下含义:
(1)line2labels:在提取第一行观察值为变量名的同时,第二行观察值作为对应的变量标签;
(2)drop:提取后删除第一行观察值,若与选项line2labels联用,则删除前两行观察值;
(3)list:列出前三行观察值,若与选项drop联用,则列出删除观察值前的数据。
以上是关于原本的变量名处在变量值的位置,如何重新提取变量名的主要内容,如果未能解决你的问题,请参考以下文章