全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
11546 19
2011-07-26
如题,我现在手中有的数据在sas中显示为2.0100101E13 类似这样的格式,貌似是科学计数法的表示方式

其实这是一个日期+时间的数据,例如2010(yyyy)0101(mmdd)195637(19:56分37秒)

我现在想将其全部变成日期的数据

自己的想法是先将 科学计数法 的那个格式转变为 20100101195637 这样,然后保留其中的mm/dd 这几位

最终的目的是将这列数据作为时间轴作图,不需要精确到分钟和秒, 而且是一年的数据,所以2010也不需要。

有朋友说用sub string来处理。

因为本人刚接触sas,是个新手,希望大家能给予指教,求代码。

非常感谢!
附件列表
example.png

原图尺寸 215.08 KB

example.png

二维码

扫码加我 拉你入群

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

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

全部回复
2011-7-26 17:32:50
data test;
   input num;
   mmdd=substr(strip(put(num,best14.)),5,4);
   put mmdd=;

   cards;
2.0100101E13
2.0100709E13
;
run;
二维码

扫码加我 拉你入群

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

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

2011-7-26 23:48:17
非常感谢,忘了说,这个variable的名称是date,如果我要讲所有这些date下面的格式都改掉,上面这段代码应该如何修改呢?
二维码

扫码加我 拉你入群

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

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

2011-7-27 07:20:46
是要将date的值都改掉么?

data test;
   input date;
   mmdd=substr(strip(put(date,best14.)),5,4);
   date=input(mmdd,4.);
   format date z4.;
   cards;
2.0100101E13
2.0100709E13
1.9991213E13
;
run;
二维码

扫码加我 拉你入群

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

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

2011-7-27 12:04:21
你要不要先试一下:
format date date9.;

我怀疑你那个date显示的是一个数值,多少秒(在正常情况下if you don't specify format)。
二维码

扫码加我 拉你入群

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

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

2011-7-27 12:22:24
嗯,不知道我说清楚了没,就是这个variable的名称叫xact_date, 我希望把这个variable下面大概几千个数据都从原始的科学计数法那种表示形式,转换成mmdd的形式
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群