Ftools命令组flevelsof命令介绍

 2024-02-24 04:02:12  阅读 0

技术编辑:张继宝

介绍

在之前的推文和文章中,我们已经详细介绍了封装命令——fisid命令、fsort命令和fegen命令。 本文将继续介绍封装命令系列命令之一。

命令

语法:[if] [in] [,]

‍用于在大数据集中进行替换,它主要有两个作用:一是显示指定变量的不同值;二是显示指定变量的不同值。 其次,当需要使用循环时,可以使用该命令提取不同的值作为循环范围。

为了演示命令的效果,首先需要生成一个大的数据集。 本文使用Stata自带的数据集.dta。 重复生成数据集50次后,将这些数据垂直拼接在一起,得到大数据集tmp.dta。 具体代码如下:‍

clearforv i=1/50{  sysuse nlsw88,clear  save `i',replace}use 1,clearforv i=2/50{  append using `i'}save "tmp",replace

(1)命令效果显示

接下来,对 tmp 数据集中的变量使用该命令。 具体命令如下:

use tmp,clearflevelsof industrycodebook industry

具体效果如下:

sort命令可以生成_怎样才能生成命令_sort命令

根据结果​​我们可以看到变量中有12个不同的值,命令也提取了12个值,但是它提取了12个整数。 这不是我们想要的。 我们希望能够提取出原始的人物内容。

首先检查命令的类型,发现是标签值类型。 这也解释了为什么提取的结果是数值,因为变量中的数字是原始值,而字符串是标签。 因此,需要先将标签数值变量转换为字符串变量,然后再使用该命令。 具体命令如下:

decode industry, generate(industry1) //将标签数值变量industry转成字符串,生成变量industry1flevelsof industry1

结果如下:

从上图可以看出,我们希望得到的内容就被提取出来了。

(2)命令与命令运行速度对比

接下来,比较命令的速度,找到指定变量中不同的值,以显示命令的运行速度。 为了让比较结果更加可信,这里我们对tmp.dta数据集中的变量分别运行命令和命令五次,然后对所花费的时间进行平均。 具体命令如下:

*使用flevelsof命令scalar sum=0 //生成一个标量来存储5次运行程序所耗费的总共时间forv i = 1/5{  use tmp,clear  decode industry, generate(industry1)  timer clear 1   timer on 1  flevelsof age  timer off 1  timer list 1  scalar sum=sum+r(t1)}scalar avg=sum/5 //运行时间均值di "使用flevelsof命令耗费的时间为",avg*使用levelsof命令scalar sum=0 forv i = 1/5{  use tmp,clear  decode industry, generate(industry1)  timer clear 1   timer on 1  levelsof industry1  timer off 1  timer list 1  scalar sum=sum+r(t1)}scalar avg=sum/5 di "使用levelsof命令耗费的时间为",avg

具体结果如下图所示

怎样才能生成命令_sort命令可以生成_sort命令

从上图可以看出,命令运行速度比命令快,但由于数据量不大,所以差别并不明显。

(3) 显示clean选项的效果

该选项的主要作用是显示不带双引号的字符串值。 当一个判断语句中需要判断前后字符是否一致时,有时字符内容相同,但由于双引号的存在,系统会判断条件为假。 在这种情况下,您需要使用此选项。 具体命令如下:

use tmp,cleardecode industry, generate(industry1)flevelsof industry1flevelsof industry1,clean

具体结果如下:

sort命令可以生成_怎样才能生成命令_sort命令

如上图所示,使用 clean 选项删除结果中的双引号。

(4) 显示选项效果

默认情况下,该命令在指定变量中查找不同值时不包括缺失值,但使用该选项后,缺失值会一起查找。 具体命令如下:

use tmp,cleardecode industry, generate(industry1)flevelsof industry1flevelsof industry1,missing

具体结果如下:

sort命令可以生成_sort命令_怎样才能生成命令

如上图所示,带选项的命令比不带选项的命令多显示一个空字符串。

(5) 显示选项效果

默认情况下,当命令显示在指定变量中查找不同值的结果时,不同值之间用空格分隔。 使用该选项后,您可以选择指定的分隔符来分隔结果。 具体命令如下:

use tmp,cleardecode industry, generate(industry1)flevelsof industry1flevelsof industry1,separate(.)flevelsof industry1,separate(,)

具体结果如下:

怎样才能生成命令_sort命令可以生成_sort命令

从上图可以看出,使用不同的分隔符会导致最终的显示效果不同。

至此,本文已经介绍了该命令。 相信大家对其用途都有一定的了解。 赶紧更新之前的命令吧! 后续还将推出一系列命令,敬请期待。

sort命令可以生成_sort命令_怎样才能生成命令

如果我们的推文累计奖励超过1000元,我们将为您开具发票,发票类别为“咨询费”。 努力工作,不辜负您的支持!

过去各期的推荐推文

关于我们

微信公众号“Stata与数据分析”分享stata等软件的实用数据处理知识。 欢迎转载和打赏。 我们是在李春涛教授的带领下,由研究生和本科生组成的大数据处理与分析团队。

另外,欢迎大家贡献和介绍一些关于stata和.的数据处理和分析技巧。

提交邮箱:

提交要求:

1)必须原创,禁止抄袭;

2)必须准确、详细,并附有示例和截图;

防范措施:

1)所有提交的作品将由公众号运营团队成员审核。 审核通过者方可录用。 一旦被接受,作者将在推文中签名并获得一部分赏金。

2)请在邮件中注明您的贡献,邮件名称应为“投稿+推文名称”。

3)应读者要求,现提供付费问答服务。 如果您遇到数据处理、分析等问题,可以在公众号中提问。 您只需支付少量赏金,我们将在后续推文中予以答复。

sort命令_怎样才能生成命令_sort命令可以生成

sort命令_怎样才能生成命令_sort命令可以生成

标签: 命令 所示 变量

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码