标签:imp 选项 list using 必须 com env 导入 输出内容
在日常工作中,我们导入的数据常常不那么规范,如下图所示,原本的变量名处在变量值的位置,若要重新提取变量名,单个变量依次重命名显然繁琐,那么我们有什么快捷的方法呢?
ssc install convert_top_lines
使用该命令可以将数据集中的第一、第二行观察值分别转化为变量名、变量标签。值得注意的是,
这里的数据集需符合以下两个条件:
(1)数据集中所有变量均为字符型变量;
(2)数据集原始变量名必须为“v1、v2、v3…”的形式。
第二个条件太苛刻了,看来这个命令不实用。
抱歉,我上句话说错了,这个命令很实用,在使用命令
convert_top_lines
前,先输入一条命令renvarlab A-L\v1-v12
即可。
使用命令renvarlab A-L\v1-v12
后的效果:
现在直接使用convert_top_lines
命令,实现目标变量名如下:
或者,也可加上drop选项,删除第一行观察值,使变量值更美观,效果如下:
上述命令总结为:
import excel using auto1.xlsx, clear //数据集变化,需要重新导入、命名
renvarlab A-L\v1-v12
convert_top_lines,drop
对于原数据集的第二行观察值,若要用作变量标签,则增加选项line2labels
.
因为数据库的数据导出形式通常为:第一行为变量名,第二行为变量名的说明,即标签。
我们也可通过list选项观察数据集前三行数据情况来做检查:
import excel using auto1.xlsx, clear
renvarlab A-L\v1-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联用,则列出删除观察值前的数据。
标签:imp 选项 list using 必须 com env 导入 输出内容
原文地址:https://www.cnblogs.com/kooshine/p/13081148.html