楼主: myliny
5417 6

[时间序列问题] stata月度数据设定 [推广有奖]

  • 0关注
  • 0粉丝

小学生

21%

还不是VIP/贵宾

-

威望
0
论坛币
9 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
90 点
帖子
1
精华
0
在线时间
9 小时
注册时间
2018-4-8
最后登录
2020-1-16

楼主
myliny 发表于 2018-4-8 16:44:57 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我的时序数据是201601这样的格式,请问要输入什么命令去tsset为月度数据呢?求大神帮助解答!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata tata 月度数据 TSSET 求大神帮助

沙发
黃河泉 在职认证  发表于 2018-4-8 18:08:03
1.        你若要问程序 (code),请附上资料;你若要附上资料,请用 dataex 印出资料。
2.        尔后建议请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Stakiny + 2 + 2 + 2 好的意见建议

总评分: 学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

藤椅
Sunshine963 学生认证  发表于 2021-3-18 13:36:59
黃河泉 发表于 2018-4-8 18:08
1.        你若要问程序 (code),请附上资料;你若要附上资料,请用 dataex 印出资料。
2.        尔后建议请用 dataex ( ...
黄老师,求教!如图面板数据,想生成收盘价的滞后项,发现stata不能识别200612的下一期是200701,请问怎么解? 1.png

板凳
黃河泉 在职认证  发表于 2021-3-18 15:41:43
Sunshine963 发表于 2021-3-18 13:36
黄老师,求教!如图面板数据,想生成收盘价的滞后项,发现stata不能识别200612的下一期是200701,请问怎么 ...
你若要问程序,请用 (ssc install) dataex 附上相关`代表性’资料 (请尽量不要用截图或其他格式)。请参考说明 https://bbs.pinggu.org/thread-5048204-1-1.htmlhttps://zhuanlan.zhihu.com/p/29911577

报纸
liwenchao0708 发表于 2022-6-23 16:52:56
Sunshine963 发表于 2021-3-18 13:36
黄老师,求教!如图面板数据,想生成收盘价的滞后项,发现stata不能识别200612的下一期是200701,请问怎么 ...
请问解决了嘛

地板
hhh11111111 学生认证  发表于 2023-1-27 00:44:13
求问求问!拜托楼楼

7
赵安豆 发表于 2024-9-9 10:59:43
在Stata中,将你的日期变量设置为时间序列数据,并指定它为月度频率的命令如下:

假设你的日期变量名为`date`(但根据你的描述,你的变量看起来更像一个年份和月份的组合值,比如201601代表2016年1月)。

首先,你需要将这个数字型的数据转换成Stata能识别的日期格式。对于四位数的年份和两位数的月份这种组合,可以使用`mdy()`或`ymd()`函数来转换(但由于你的数据没有日的部分,我们直接用`ym()`)。但是,因为你的数据是年月连在一起的形式,需要先将它转化为正确的时间序列格式。这里我们可以用Stata的内置命令`generate`和`date()`函数配合使用。

你可以尝试以下步骤:

1. 首先生成一个新的变量来存储转换后的日期时间格式。
2. 使用`tsset`命令指定这个新变量为月度数据。

具体操作如下:

```stata
* 假设你的日期变量名为 date
gen new_date = mofy(date, 0)
format new_date %tm

* 然后设置它为时间序列的变量,并指定频率
tsset new_date, monthly
```

但是,这里`mofy()`函数通常用于处理月份和年份是分开的情况。对于你直接输入的是"201601"这样的格式,可能需要先将这个数字型数据转化为字符串,然后使用Stata的日期生成命令。

更精确的方式可能是:

```stata
* 假设你的日期变量名为 date
gen str8 new_date_str = string(date, "%tcYY%m")
gen date_var = mofy(substr(new_date_str, 6,2), substr(new_date_str,1,4))

format date_var %tm

tsset date_var, monthly
```

这样就可以正确地将你的数据设置为时间序列,并指定其为月度数据了。但是请注意,使用`mofy()`函数时需要确保月份部分是正确的两位数格式。

希望这能帮到你!如果有任何问题或疑问,请随时提问。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-7 19:21