楼主: 太正太白
7164 6

[数据管理求助] 新手求助,月度数据设置中的问题 [推广有奖]

  • 2关注
  • 0粉丝

已卖:1份资源

大专生

96%

还不是VIP/贵宾

-

威望
0
论坛币
3363 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
634 点
帖子
34
精华
0
在线时间
91 小时
注册时间
2012-7-2
最后登录
2022-5-7

楼主
太正太白 发表于 2015-11-23 19:37:08 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
面板数据中时间变量设置问题
我的数据是200512 这样的格式,直接导入STATA 之后,
首先使用的是 tsset stk ym,monthly 时间变量YM就变成了 2.0e+5

重新导入后,使用命令gen date=date(ym,"YM")  生成的数据变成了16771
再用format date %tmCCYYNN 则又把16771 变成了 335708
求助啊。。。百度了好久,人大论坛里搜了。。没有找到解决方案。。。
二维码

扫码加我 拉你入群

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

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

关键词:新手求助 月度数据 Monthly format Stata 解决方案 monthly 百度

回帖推荐

夏目贵志 发表于2楼  查看完整内容

gen date=date(ym,"YM") 直接生成的就是日期。月度数据的话可以用gen month=month(date(ym,"YM")),然后format %tm month然后tsset stk month就好了。

沙发
夏目贵志 发表于 2015-11-23 23:04:01
gen date=date(ym,"YM") 直接生成的就是日期。月度数据的话可以用gen month=month(date(ym,"YM")),然后format %tm month然后tsset stk month就好了。

藤椅
太正太白 发表于 2015-11-24 11:27:25 来自手机
好的,非常感谢。我想要形成2005m12这样的数据,用你的方法分别是生成了年份和月份,然后合并就可以了!

板凳
胡不歸 发表于 2018-3-10 10:36:08
夏目贵志 发表于 2015-11-23 23:04
gen date=date(ym,"YM") 直接生成的就是日期。月度数据的话可以用gen month=month(date(ym,"YM")),然后for ...
马一下~~~~

报纸
一缕清风blue 发表于 2019-5-5 16:36:09
你好,楼主,我现在也遇到了跟你一样的问题,按照下面的命令操作还是不行,不知道问题在哪儿,请问你能把过程详细说一下吗

地板
沈六六 发表于 2023-6-17 06:36:39
一缕清风blue 发表于 2019-5-5 16:36
你好,楼主,我现在也遇到了跟你一样的问题,按照下面的命令操作还是不行,不知道问题在哪儿,请问你能把过 ...
请问您解决了吗 上面的命令我还是没法生成2005m12这样的形式

7
赵安豆 发表于 2024-9-9 10:52:30
你遇到的问题主要是数据格式转换的误区。在STATA中处理日期变量时,需要确保日期被正确识别和格式化。以下步骤可能有助于解决问题:

1. 首先,确认你的原始数据格式(200512)是表示"2005年12月"。

2. 导入数据后,使用下面的命令将字符串类型的月份年份数据转换为日期数值:
   ```
   gen date = mdy(ym%100, 1, ym/100)
   format date %tm
   tsset date
   ```

3. 上述命令中的`mdy()`函数会根据你提供的格式将字符串转换成STATA能够识别的日期数值。这里我们使用的是月份、日(默认为1)和年份来生成日期。

4. 使用`format date %tm`是设置显示格式,让STATA以月的形式显示日期变量。

5. `tsset date`则告诉STATA你将要处理的时间序列数据,并设定时间变量为`date`。

但要注意的是,你的原始数据(如200512)直接使用`mdy()`可能不会得到正确的结果,因为`mdy()`需要的是月、日、年的格式。所以一个更好的转换方式是使用STATA专门处理月份和年份的函数:

```
gen date = mofym(ym)
format date %tm
tsset date, monthly
```

这里的`mofym()`就是直接将类似200512这样的数据转换为STATA能够理解的日期数值,同时保留了月度信息。

这样设置后,你的数据就应该能够被正确地识别和处理为月度时间序列。希望这能帮到你!

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



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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-30 00:32