楼主: 老王哥
1488 9

[编程问题求助] 长宽数据转换中的日期问题 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

19%

还不是VIP/贵宾

-

威望
0
论坛币
58 个
通用积分
1.9500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
182 点
帖子
20
精华
0
在线时间
259 小时
注册时间
2017-12-20
最后登录
2024-12-10

楼主
老王哥 发表于 2020-4-1 13:15:26 |AI写论文
50论坛币
数据本身是这样的长数据,现在有需要转成宽数据,但是日期转换后不是正常的日期格式,而是变成长串数字,是变量+21924,变量+21925这种。现在的问题就是怎么样才能把数据变成宽数据之后,是变量+1/1/2020……变量+25/3/2020的这种形式?
转换前



121143by5hbtmmyh1tgyhb.png (4.02 KB)

转换后

转换后

沙发
蓝色 发表于 2020-4-1 18:45:37
不允许那样命名
naming.png

藤椅
老王哥 发表于 2020-4-2 10:37:57
蓝色 发表于 2020-4-1 18:45
不允许那样命名
您的意思是stata不允许变量+年月日这种形式?
因为我这就是一个stata的小作业,可能也不符合常用的操作
那我的疑惑就是很多数据的长宽转换是怎么实现的?比如我也看到很多金融方面的数据也是按天计数的,那么他们的转换是怎么实现的?或者说正常研究里就没有我这样的转换需求?
谢谢您了

板凳
蓝色 发表于 2020-4-2 11:39:26
老王哥 发表于 2020-4-2 10:37
您的意思是stata不允许变量+年月日这种形式?
因为我这就是一个stata的小作业,可能也不符合常用的操作
...
就是reshape
转换

但你的变量名称有斜杠,你看stata的说明,那是不允许的。当然转换不了了
转换问题你就看看reshape 命令的manual里面的例子

报纸
老王哥 发表于 2020-4-2 16:24:03
蓝色 发表于 2020-4-2 11:39
就是reshape
转换
您好,您所说的变量命名格式问题,我马上加以修改又进行了尝试。
但是发现无论我把日期改成什么格式,哪怕直接变为一串日期20200110这种(这完全符合应有的命名规则),它在转换的时候还是会非常固执地转成上面第二张图上那五位数字。
我甚至尝试将日期变为字符进行尝试,但是发现日期变为字符之后自动还是这五位数字。
可能这才是问题关键,是不是stata一种自动的日期—数值转换呢?

地板
蓝色 发表于 2020-4-2 16:55:56 来自手机
i字符就不会变

7
老王哥 发表于 2020-4-2 17:28:33
蓝色 发表于 2020-4-2 16:55
i字符就不会变
i肯定不会变,要不然对应关系就不存在了。不过咱们一直讨论的是j,所以还是很头疼

8
蓝色 发表于 2020-4-2 17:38:02
那个日期变量设置为字符的不带斜线的,然后在用reshape就可以

9
老王哥 发表于 2020-4-2 18:08:59
蓝色 发表于 2020-4-2 17:38
那个日期变量设置为字符的不带斜线的,然后在用reshape就可以
看来我倒数第二条回复您没看明白,是我的锅,没说清楚。
就是我刚刚已经尝试过这种方法,结果发现把日期转为字符型的这个操作本身也会让日期变成第二张图里那种五位数字,所以没有机会让我去用reshape命令

10
蓝色 发表于 2020-4-2 18:46:08
看tostring命令里面的选项

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

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