专栏名称: 爬虫俱乐部
Stata技术控,编程技术咨询,数据讨论与分享,编程和实证培训。
目录
相关文章推荐
新华美育  ·  小活动大作用(每日更新)-2025.6.8 ·  11 小时前  
新华美育  ·  小活动大作用(每日更新)-2025.6.8 ·  11 小时前  
新华美育  ·  小活动大作用(每日更新)-2025.6.7 ·  昨天  
国家外汇管理局  ·  国家外汇管理局公布2025年5月末外汇储备规模数据 ·  昨天  
中国上海国际艺术节  ·  扶青计划 | 青年“视”界热力来袭 ·  2 天前  
51好读  ›  专栏  ›  爬虫俱乐部

如何准确保留数据列表中的变量

爬虫俱乐部  · 公众号  ·  · 2018-08-02 12:17

正文

请到「今天看啥」查看全文


首先,读入数据

sysuse auto,clear

然后,将 需要的保留的变量 定义为局部宏 masterlist ,并设置局部宏 keeplist ,用于存放下面我们保存的正确变量。

local masterlist " Iength make Price mpg rep77"

local keeplist = " "

接着,利用循环读入变量,并根据 conform的返回值 判断是否属于数据集里的变量。

foreach i of local masterlist  {
    capture confirm variable `i'
    if _rc ==0 {               // 如果满足返回值等于0则判断当前变量为数据集中的变量。
        local keeplist "`keeplist' `i'" //将属于数据集里的变量存储到局部宏keeplist中。
    }
}
keep `keeplist'

最后,用 ds 命令查看内存中含有的正确变量是 make和mpg

ds

结果如下:

由此,我们判断 length、price和rep77 写错了。很显然这种方法比较复杂,既要用到循环又要用到 confirm 命令,使人觉得烦琐。为进一步提高效率,简化数据处理程序, isvar 命令闪亮登场。

二、isvar命令

由于 isvar 是外部命令,我们先进行 安装

ssc install isvar,replace

接着,读入 auto 数据。

sysuse auto,clear

然后,利用 isvar 判断所要保存的变量是否是正确的。

isvar Iength make Price mpg rep77

结果显示,变量 Iength、Price和rep77 不属于数据集里的变量,如下图:

根据以上判断,你便可对 Iength、Prince 和rep77 一次性修改来实现我们准确保存变量名的目的。

*小结:







请到「今天看啥」查看全文