楼主: mengqinqing
18271 14

sas日期输入格式 [推广有奖]

  • 8关注
  • 6粉丝

已卖:1份资源

讲师

94%

还不是VIP/贵宾

-

威望
0
论坛币
64351 个
通用积分
8.0217
学术水平
7 点
热心指数
5 点
信用等级
4 点
经验
21974 点
帖子
468
精华
0
在线时间
650 小时
注册时间
2007-11-24
最后登录
2025-6-4
毕业学校
中山大学

楼主
mengqinqing 发表于 2013-4-4 23:33:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问各位,下面这段程序中的日期输入到sas里以后,数据集里的数字表示的是什么?其中t比如1:40是指1小时40分,我想全部转换成分来比较group1和2的差异,不知道该怎么处理?

  1. data time;
  2. input group t time5.;
  3. cards;
  4. 1        1:40
  5. 1        2:30
  6. 1        5:25
  7. 1        2:30
  8. 1        3:00
  9. 1        4:10
  10. 1        3:05
  11. 1        2:45
  12. 2        3:20
  13. 2        4:42
  14. 2        2:40
  15. 2        2:25
  16. ;
  17. run;
复制代码

二维码

扫码加我 拉你入群

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

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

关键词:Group Input cards time card 程序

用自己的力量站在自己的位置

沙发
yongyitian 发表于 2013-4-4 23:47:05
data time;
input group t time5.;
format t time5.;
Fen = hour(t)*60+minute(t);
cards;
1  1:40
1  2:30
1  5:25
1  2:30
1  3:00
1  4:10
1  3:05
1  2:45
2  3:20
2  4:42
2  2:40
2  2:25
;
run;
已有 1 人评分经验 收起 理由
eijuhz + 20 精彩帖子

总评分: 经验 + 20   查看全部评分

藤椅
zhengbo8 发表于 2013-4-4 23:52:24
当读取日期时间时,转换为从以1960年1月1日0时0分0秒(SAS日期时间的起点)开始的秒数。
当读取日期时,转换为从1960年1月1日开始的天数。当SAS读取时间时,转换为从00:00开始的秒数。
将日期时间值表示为日期常数(即数值),格式值带单(双)引号,紧跟D(日期)、T(时间)或DT(日期时间)。

板凳
mengqinqing 发表于 2013-4-4 23:58:57
yongyitian 发表于 2013-4-4 23:47
data time;
input group t time5.;
format t time5.;
非常感谢!真是我想要的。
请问为什么还要定义format?
用自己的力量站在自己的位置

报纸
mengqinqing 发表于 2013-4-4 23:59:21
zhengbo8 发表于 2013-4-4 23:52
当读取日期时间时,转换为从以1960年1月1日0时0分0秒(SAS日期时间的起点)开始的秒数。
当读取日期时,转 ...
谢谢!
用自己的力量站在自己的位置

地板
yongyitian 发表于 2013-4-5 00:04:03
把 t  显示成 1:40 的形式

7
mengqinqing 发表于 2013-4-5 00:22:41
yongyitian 发表于 2013-4-5 00:04
把 t  显示成 1:40 的形式
但是不是已经在input里面定义了t的格式是time5.么,这个格式是informat吗?
用自己的力量站在自己的位置

8
yongyitian 发表于 2013-4-5 00:45:29
mengqinqing 发表于 2013-4-5 00:22
但是不是已经在input里面定义了t的格式是time5.么,这个格式是informat吗?
informat 用在输入时

在input语句中指定格式 和 用informat定义格式的作用是一样的。

用informat定义格式后,在input语句中不用再指定格式。

储存在dataset 里的数据只有两种形式,character 和 number。 没有format。 在SAS里,时间,日期都是存成number的。
要显示时再用format。

format   用在输出时

有时生成新的 dataset 时 还要重新format

9
mengqinqing 发表于 2013-4-5 14:39:01
yongyitian 发表于 2013-4-5 00:45
informat 用在输入时

在input语句中指定格式 和 用informat定义格式的作用是一样的。
谢谢!我明白了,解释很清楚。
用自己的力量站在自己的位置

10
mengqinqing 发表于 2013-4-8 11:21:12
yongyitian 发表于 2013-4-5 00:45
informat 用在输入时

在input语句中指定格式 和 用informat定义格式的作用是一样的。
不好意思,又打扰了,请问下面总是出错是怎么回事?谢谢。
  1. data time;
  2. input group t1 time5. t2 time5. t3 time5. t4 time5.;
  3. format t1 time5.;
  4. format t2 time5. ;
  5. format t3 time5. ;
  6. format t4 time5. ;
  7. surgerytime = hour(t1)*60+minute(t1);
  8. stime= hour(t2)*60+minute(t2);
  9. artificialtime= hour(t3)*60+minute(t3);
  10. atime= hour(t4)*60+minute(t4);
  11. cards;
  12. 1 09:50 11:30 09:50 11:06
  13. 1 10:00 12:55 10:04 12:30
  14. 1 10:25 14:50 10:36 14:20
  15. 1 09:52 11:30 09:54 11:10
  16. 1 09:43 13:45 09:46 12:00
  17. 1 10:15 14:40 10:20 14:11
  18. 1 9:43 12:06 9:50 11:36
  19. 1 9:53 12:50 9:55 12:28
  20. ;
  21. run;
复制代码
用自己的力量站在自己的位置

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 14:20