查看原文
其他

时间函数(四)——如何处理字符型时间数据

河南大学 赵政轩 Stata and Python数据分析 2022-03-15

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

喜大普奔~爬虫俱乐部的github主站正式上线了!我们的网站地址是:https://stata-club.github.io,粉丝们可以通过该网站访问过去的推文哟~

——爬虫俱乐部

我们接着上一篇继续介绍剩余的处理字符型时间的时间函数,它们分别是weekly(s1,s2[,Y])、monthly(s1,s2[,Y])、quarterly(s1,s2[,Y])、halfyearly(s1,s2[,Y])和yearly(s1,s2[,Y])。

yearly(s1,s2[,Y])

yearly(s1,s2[,Y])只能对字符型的年份进行处理(这里提醒大家一下,之前我们讲的year(e_d)是解决数值型时间数据,它与此处讲的yearly(s1,s2[,Y])不同,大家不要用混淆了),s1的取值范围是0100-9999,不在此范围内的字符型数字在转换之后变为missing,s2中只有Y这一种时间结构,也就是说,yearly时间函数只能处理只有年份的字符型时间数据。我们接下来看一个例子:

生成不同类型年份数据,并加入s1的最大最小范围以及超过的此范围的数据(如下图所示)。

clear

set obs 8

input str10 var1

1998

99

00

01

9999

10000

0100

0099

end

gen year = yearly(var1,"Y",2000)

年份数据位数是两位的都转化为不超过2000且年份后两位是对应var1里面的字符数值;在0100-9999范围内的四位字符时间数据,都转化位对应的数值型数据;在此范围之外的都为missing

halfyearly(s1,s2[,Y])

halfyearly(s1,s2[,Y])表示返回s1与1960年上半年相距的半年数。s2为YH或者HY,Y指的是年份, H为1指的是上半年,H为2指的是下半年。如果数据中的年份部分是两位,要记得定义[,Y]。我们以YH结构的数据为例子:

clear

set obs 9

input str10 var1

"1994-01"

"1994=01"

"1994,1"

"1994 1"

"1994h1"

"19941"

"1994 2"

"1994 3"

"94 1"

end

gen halfyear = halfyearly(var1,"YH",2000)

大家可以观察一下规律,Y对应时间数据中的年份部分,如果出现了两位年份时需要添加选项Y。YH指定时间数据的结构为年份加半年,半年和年份之间必须有非数字字符。注意了,H的取值为1或者2。如果H对应的时间数据的位置上出现了大于2的数字,那么转化的结果为missing

quarterly(s1,s2[,Y])

quarterly(s1,s2[,Y])表示返回s1与1960年第一季度相距的季度数,quarterly中的s2为YQ或者QY,Q对应位置上的时间数据范围是1-4(四个季度)。

gen quarter = quarterly(var1,"YQ",2000)

monthly(s1,s2[,Y])

monthly(s1,s2[,Y])计算s1与1960年1月1日相距的月数,其中的s2为YM和MY,M对应位置上的时间数据范围是1-12(月份)。

gen month = monthly(var1,"YM",2000)

weekly(s1,s2[,Y])

weekly(s1,s2[,Y]) 计算s1与1960年1月1日相距的周数,其中s2为YW和WY,W对应位置上的时间数据范围是1-52(周)。

gen week = weekly(var1,"YW",2000)

谢谢大家阅读学习,关于如何处理字符型时间数据的介绍,就到此结束啦,谢谢!!!


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

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

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

文字编辑/王凯丽

技术总编/刘贝贝


往期推文推荐:

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

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

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

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

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

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

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

8.矩阵和宏的故事

9.shellout,open anything

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



关于我们

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

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

投稿邮箱:statatraining@163.com

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

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存