楼主: cortex112
7097 4

[其他] 日期变量:问如何将日期变为月计算 [推广有奖]

  • 0关注
  • 1粉丝

已卖:27份资源

大专生

90%

还不是VIP/贵宾

-

威望
0
论坛币
4 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
431 点
帖子
37
精华
0
在线时间
78 小时
注册时间
2008-10-28
最后登录
2021-1-6

楼主
cortex112 发表于 2009-12-21 00:33:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
原始日期为:date                 IXICmsClS
1971-02-05        101.34
1971-03-01        105.97
1971-04-01        112.3
1971-05-03        108.25
1971-06-01        107.8


实际上这是个月度数据,因此想把其转为月度的日期序列。我先用gen d=date(date,"YMD")然后format d %td转成了
d
05feb1971
01mar1971
01apr1971
03may1971
01jun1971
01jul1971
02aug1971
01sep1971
但是如果直接将format转成%tm的话会算成
d
2297m10
2299m10
2302m5
2305m1
2307m6
2309m12
2312m8
2315m2
我试着把月和年分别提取出来成month和date 序列如下,但是不知道怎么“拼起来”。
month        year
2        1971
3        1971
4        1971
5        1971
6        1971
7        1971
8        1971
9        1971


能否告诉我怎么做?另外论坛里原来有的[原创]:有关Stata日期的介绍:写给初学者http://www.pinggu.org/bbs/viewthread.php?tid=457117&highlight=%2BStata%2B%C8%D5%C6%DA
没办法下载,能否谁帮忙传一份。谢谢。(发现大多数问题是关于日期设定的)
二维码

扫码加我 拉你入群

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

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

关键词:日期变量 highlight format pinggu thread 如何

回帖推荐

eblog 发表于3楼  查看完整内容

clear all input str10 date IXICmsClS 1971-02-05 101.34 1971-03-01 105.97 1971-04-01 112.3 1971-05-03 108.25 1971-06-01 107.8 end gen d=date(date,"YMD") gen ym=ym(year(d),month(d)) format ym %tm

本帖被以下文库推荐

沙发
sungmoo 发表于 2009-12-21 09:18:07
cortex112 发表于 2009-12-21 00:33 我试着把月和年分别提取出来成month和date 序列如下,但是不知道怎么“拼起来”。
month        year
2        1971
3        1971
4        1971
5        1971
6        1971
7        1971
8        1971
9        1971
你想“拼”成什么样?

藤椅
eblog 发表于 2009-12-21 09:28:07
clear all
input str10 date IXICmsClS
1971-02-05 101.34
1971-03-01 105.97
1971-04-01 112.3
1971-05-03 108.25
1971-06-01 107.8
end
gen d=date(date,"YMD")
gen ym=ym(year(d),month(d))
format ym %tm
已有 2 人评分论坛币 学术水平 热心指数 收起 理由
crystal8832 + 10 + 1 + 1 精彩帖子
weli + 1 + 1 精彩帖子

总评分: 论坛币 + 10  学术水平 + 2  热心指数 + 2   查看全部评分

板凳
eco_enth 发表于 2020-5-14 13:58:51
eblog 发表于 2009-12-21 09:28
clear all
input str10 date IXICmsClS
1971-02-05 101.34
按照上面的命令处理后的数据是:
1993m12
1994m12
1995m12
1996m12
1997m12
怎么转换成
1993-12
1994-12
1995-12
1996-12
1997-12
这种类型数据

报纸
黃河泉 在职认证  发表于 2020-5-14 18:24:20
eco_enth 发表于 2020-5-14 13:58
按照上面的命令处理后的数据是:
1993m12
1994m12
试试
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str10 date float IXICmsClS
  4. "1971-02-05" 101.34
  5. "1971-03-01" 105.97
  6. "1971-04-01"  112.3
  7. "1971-05-03" 108.25
  8. "1971-12-01"  107.8
  9. end

  10. gen ymd = date(date,"YMD")
  11. gen ym = mofd(ymd)
  12. format ym %tmCCYY-nn
复制代码

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

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