千变万化——format

2017-11-01 王明 爬虫俱乐部 爬虫俱乐部

有问题,不要怕!点击推文底部“阅读原文”下载爬虫俱乐部用户问题登记表并按要求填写后发送至邮箱statatraining@163.com,我们会及时为您解答哟~

物无规矩难方圆,人明法度知分寸。要想学好stata,首先得学好格式,小编这就给大家带来今天的主角——format

首先,我们通过help format,看一下format的语法。

由上图可知,我们定义一个变量的格式有两种途径。分别是format varlist %fmtformat %fmt varlist。千言万语都嫌多,小编这就给客官上栗子(例子)。

键入以下程序:

clear

set obs 1

gen v = "爬虫俱乐部"

gen v1 = v

format %20s v

format v1 %20s

list v v1

运行结果如下:

可以看出两种方式都可以,小编更习惯format %fmt varlist语法,所以后面的例子都是用的这个语法。

在stata中的数值和字符串的格式默认都是右对齐的,想要左对齐,也很简单,加一个负号就可以解决。键入以下命令:

format %-20s v1

edit

从图中我们可以看出原来的右对齐变成了左对齐。字符串的格式比较简单,只有一个%s格式,接下来,是这一次推文的核心内容——数值型变量的显示格式。

1.%#w.#df格式

%#w.#df这个格式是我们经常用的数值型变量格式之一。我们先生成10个数。程序如下:

clear

input v1

0.0023562

0.0467823

0.5489121

3.1415933

12.3456131

356.984211

4851.6554

19872.4251

454654.85

4861465.4641

end

gen v2 = v1

gen v3 = v1

gen v4 = v1

gen v5 = -v1

format %4.2f v2

format %8.2f v3

format %09.2f v4

format %8.2f v5

list v1 v2 v3 v4 v5

运行结果如下:

生成数据的默认格式是%9.0g,通过对比我们可以清楚地看出,在%#w.#df格式中,#w表示字节长度#d表示保留几位小数,这里需要注意以下几点:

第一,对比v2和v3我们发现两个输出结果一模一样,然而一个格式是%4.2f,另一个格式是%8.2f,这是为什么呢?原来在%#w.#df格式中,当字节长度#w小于8时,默认把8当作字节长度。

第二,从上图我们可以发现v3的第9,10行都是%#w.#de格式,这是因为,如果数值的长度超过设置的#w,则会显示科学记数法格式。

第三,对比v3和v5,都是%8.2f格式,第8行v3是19872.43,v5是-2.0e+04,说明负号也会占一个字节长度

第四,在类似%#w.#df格式中,#w一定得大于#d,要不然会报错,因为篇幅有限,小编在这里就不做讲解了。

2、%#w.#dg格式

初学者对%#w.#df%#w.#dg两个格式傻傻分不清。这些都不是问题,小编带大家一瞅其庐山真面目。键入以下命令:

format %7.0g v2

format %9.2g v3

format %9.6g v4

format %9.0g v5

list v1 v2 v3 v4 v5

运行结果如下:

在这里,对于%#w.#dg格式。#w代表字节长度为#w,#d表示保留#d个有效数字。如果#d等于0,则显示最大字节长度为#w的格式。如果#d不等于0,则显示#d个有效数字。#d针对的是小数,所以#d小于整数的位数时,整数部分都会显示出来。这里值得注意的是,在%#w.#dg格式中,会给符号留一个字节位置,所以对于%9.0g 格式的v1只显示七个数字和一个小数点。而对相同格式的v5,显示了七个数字,一个小数点和一个负号,正好等于九个字节长度。

3、%#w.#dgc和%#w.#dfc格式

接下来小编给大家带来%#w.#dgc%#w.#dfc格式,键入以下命令:

format %12.2fc v2

format %12.0gc v3

list v1 v2 v3

运行结果如下:

以%#w.#dfc格式为例,%#w.#dfc格式和%#w.#df格式的区别在于多相应数量的千分符。从上图中,我们可以清楚看出。v2的第10行数字多了两个千分符。

没看懂记得戳下方视频学习哦!


注:此推文中的图片及封面(除操作部分的)均来源于网络!如有雷同纯属巧合!

以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。另外,我们开通了苹果手机打赏通道,只要扫描下方的二维码,就可以打赏啦!


应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~

                        文字编辑:闫续文

技术总编:刘贝贝



往期推文推荐:

1.高校学术大神:你的导师上榜了吗?

2.中国高校财经、管理与综合类期刊灌水排行榜

3.命令sum2docx输出统计量表到docx文件

4.reg2docx报告你的实证结果吧!

5.爬虫俱乐部又出新命令了——wordconvert转换你的word文件

6.putdocx+wordconvert—将实证结果输出到Word.docx)文档

7.Stata 15Markdown——没有做不到,只有想不到!

8.矩阵和宏的故事

9.shelloutopen anything

10.Putpdf--神奇的转换工具



关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱:statatraining@163.com

投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

欢迎关注爬虫俱乐部

微信扫一扫
关注该公众号