楼主: sllhappy0729
6261 10

[原创博文] SAS时间序列处理问题 [推广有奖]

  • 0关注
  • 0粉丝

已卖:88份资源

硕士生

54%

还不是VIP/贵宾

-

威望
0
论坛币
48 个
通用积分
0.0023
学术水平
2 点
热心指数
1 点
信用等级
0 点
经验
7894 点
帖子
75
精华
0
在线时间
229 小时
注册时间
2008-11-5
最后登录
2020-10-28

楼主
sllhappy0729 发表于 2010-5-5 18:51:50 |AI写论文
10论坛币
我想把下列格式的时间转化为SAS能识别的时间格式,试了老半天也没成功,求助各位了,非常感谢!
数据在excel文件中(一共2列,time和BC各1列)
           time             BC
2010-4-30  0:00     0.178453913
2010-4-30  0:01     5.97E-02
2010-4-30  0:02    4.33E-02
2010-4-30  0:03    0.189170572
2010-4-30  0:04    0.18681088
2010-4-30  0:05    5.53E-02
2010-4-30  0:06    0.334657956
2010-4-30  0:07    0.065982183
2010-4-30  0:08    0.132350325

最佳答案

sushe1527 查看完整内容

点菜最怕随便,你有要求就好说了~~~ data a; input dt $20.; datalines; 2006-1-1 12:21 ; run; proc format; picture dt low-high='%d-%m-%Y %H:%M' (datatype=datetime); run; data b; length datec $10 dtc $20; set a; datepart=scan(dt,1,' '); timepart=scan(dt,2,' '); daten=input(datepart,yymmdd10.); datec=put(daten,date9.); dtc=catx(':',datec,timepart) ...
关键词:时间序列 EXCEL time 非常感谢 exce excel

本帖被以下文库推荐

沙发
sushe1527 发表于 2010-5-5 18:51:51
sllhappy0729 发表于 2010-5-5 21:05
也就是转化为SAS时间格式,比如01JAN2006:12:21。导入是容易,但是转化过来对我来说还是非常困难,恳请赐教!
点菜最怕随便,你有要求就好说了~~~


data a;
     input dt $20.;
  datalines;
2006-1-1 12:21
;
run;
proc format;
     picture dt low-high='%d-%m-%Y %H:%M' (datatype=datetime);
run;
data b;
     length datec $10 dtc $20;
     set a;
  datepart=scan(dt,1,' ');
  timepart=scan(dt,2,' ');
  daten=input(datepart,yymmdd10.);
  datec=put(daten,date9.);
  dtc=catx(':',datec,timepart);
     dtn=input(dtc,datetime19.);
  format dtn dt19.;
  keep dt dtn;
  proc print data=b;
run;
已有 3 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
sllhappy0729 + 1 + 1 + 1 非常感谢你的帮助,Good luck for you!
soporaeternus + 1 + 1 好想法
crackman + 100 + 100 + 1 + 1 精彩帖子

总评分: 经验 + 100  论坛币 + 100  学术水平 + 3  热心指数 + 3  信用等级 + 1   查看全部评分

藤椅
crackman 发表于 2010-5-5 19:06:40
你说你这个数据
DATE吧 你中间是4 不是04
说TIME吧
你只有小时 分钟 没得秒
我不知道你想变成撒子数据格式

板凳
sllhappy0729 发表于 2010-5-5 19:12:10
转化成任何一种SAS系统能够识别的时间格式,这样我就能作图或者继续下一步的工作。非常感谢你的关注,不知能否帮我解决这个问题?
2# crackman

报纸
crackman 发表于 2010-5-5 19:17:19
那你把秒全部默认为0吧这样去做就简单了

地板
sllhappy0729 发表于 2010-5-5 19:22:55
可以把所有的秒都默认为0,能不能给我一些提示?非常感谢!
4# crackman

7
xiaosanmao 发表于 2010-5-5 20:03:58
sllhappy0729 发表于 2010-5-5 19:22
可以把所有的秒都默认为0,能不能给我一些提示?非常感谢!
4# crackman
什么叫 能识别的? 导入很简单,但是你后边肯定是用到时间做后续运算,所以对时间的要求不是很严格,你必须要知道你自己想要的是什么样子的,有时候 时间那列即便是1,2,3.。。。这样的也能进行运算的

8
sllhappy0729 发表于 2010-5-5 21:05:56
也就是转化为SAS时间格式,比如01JAN2006:12:21。导入是容易,但是转化过来对我来说还是非常困难,恳请赐教!
6# xiaosanmao

9
soporaeternus 发表于 2010-5-5 21:40:37
1 yyyy-mm-dd 和 hh:mm中间的分隔符是不是定长

是的话,分别转换为时间后,加起来变成datetimew.d就可以了,其实本质还是秒......
已有 1 人评分经验 热心指数 收起 理由
crackman + 100 + 1 我很赞同

总评分: 经验 + 100  热心指数 + 1   查看全部评分

Let them be hard, but never unjust

10
crackman 发表于 2010-5-5 21:44:28
不错
写的很好
8# sushe1527
已有 1 人评分热心指数 收起 理由
sllhappy0729 + 1 非常感谢您的提示!

总评分: 热心指数 + 1   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 18:32