楼主: calsunny
2707 9

请教SAS的日期问题! [推广有奖]

  • 2关注
  • 5粉丝

讲师

84%

还不是VIP/贵宾

-

威望
0
论坛币
3460 个
通用积分
12.8619
学术水平
2 点
热心指数
5 点
信用等级
1 点
经验
1653 点
帖子
468
精华
0
在线时间
732 小时
注册时间
2007-4-3
最后登录
2019-12-3

楼主
calsunny 发表于 2015-2-7 12:10:37 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有一个关于SAS 数据中日期的问题,请教各位:
262015
12262014
.
.
.
如果是数据是Character 形式, 怎么才能转换成 MMDDYYYY10.格式? 如果是Numeric的 Best12. (?)的数据形式,又怎么转换成 MMDDYYYY10.形式呢?多谢多谢!

二维码

扫码加我 拉你入群

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

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

关键词:sas的 Character numeric Best 数据形式

沙发
mingfeng07 学生认证  发表于 2015-2-7 13:27:52
  1. data _null_;
  2. date="12262014";
  3. date1=put(input(date,mmddyy8.),mmddyy10.);
  4. put date1=;
  5. dt=262015;
  6. dt1=put(dt,mmddyy10.);
  7. put dt1=;
  8. run;
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
calsunny + 5 + 3 + 3 + 3 精彩帖子

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

藤椅
calsunny 发表于 2015-2-7 23:26:27
非常非常感谢

板凳
calsunny 发表于 2015-2-9 23:02:01
mingfeng07 发表于 2015-2-7 13:27
谢谢你帮忙

可是 262015   有可能直接转化成 2/6/2015? 这是我来问的目的

报纸
sushe1527 发表于 2015-2-9 23:31:07
calsunny 发表于 2015-2-9 23:02
谢谢你帮忙

可是 262015   有可能直接转化成 2/6/2015? 这是我来问的目的
1112015 这种?是1月11还是11月1?

地板
mingfeng07 学生认证  发表于 2015-2-9 23:44:54
calsunny 发表于 2015-2-9 23:02
谢谢你帮忙

可是 262015   有可能直接转化成 2/6/2015? 这是我来问的目的
这种太不规范了,似乎没有最直接的这种日期格式,可以通过mdy()加substr()转化。

7
calsunny 发表于 2015-2-10 02:14:14
I did it in R and solved the problem using date package:  newdate <- date.mmddyyyy(date, sep = "/")

Thank you all.

8
sushe1527 发表于 2015-2-10 09:58:36
calsunny 发表于 2015-2-10 02:14
I did it in R and solved the problem using date package:  newdate
请问1112015 这种? 在R里,显示结果是多少?

9
calsunny 发表于 2015-2-10 11:59:09
sushe1527 发表于 2015-2-10 09:58
请问1112015 这种? 在R里,显示结果是多少?
抱歉,我重新读了数据的格式,然后解决了问题。

R里面和 dt1=put(date,mmddyy10.) 的结果是一样的。

10
wpfwxn 发表于 2015-2-11 20:07:54
calsunny 发表于 2015-2-9 23:02
谢谢你帮忙

可是 262015   有可能直接转化成 2/6/2015? 这是我来问的目的
像‘262015’这种本身存在歧义的日期,sas中如果直接按照dt1=input(date,mmddyy10.) ;转换,sas系统是会检测到错误的(日志窗口可能看不到ERROR,但事实上_error_ = 1),尽管用input(date,anydtdte.)转换可能不会报错,但因为使用anydtdte后,是安装一定的日期格式顺序对日期值进行转换,在不确定原始日期值的书写格式时,会存在一定的风险。我们在收集日期资料时应尽量标准,避免不必要的错误。

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

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