原本的变量名处在变量值的位置,如何重新提取变量名

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联用,则列出删除观察值前的数据。










以上是关于原本的变量名处在变量值的位置,如何重新提取变量名的主要内容,如果未能解决你的问题,请参考以下文章

当变量被称为字符串时,如何获取变量值而不是变量名? [复制]

python 开发 -- 01变量

Python 中如何打印变量值

Jmeter+ant搭建环境

用户自定义变量

javascript 中解析json