sas学习笔记之time.和tod.、@和@@、deadlines和deadline4对比

sas学习笔记之time.和tod.、@和@@、deadlines和deadline4对比

sas学习 之time.和tod.、@和@@、deadlines和deadline4对比

在学习sas时经常会碰到一些options会有不同的选择,那么他们的区别在哪里呢。

1、 time.VS tod.

time.:9:00(小时若只有一位则会用空格来填充) tod.:09:00(小时若只有一位则会用0来填充)

time 的值可以是 sas 时间值,但它表示持续时间。因此,time 的值可以超过 23:59:59,也可以是负值。 而tod是采用24小时制,一旦其时间超过24:00:00或者小于00:00:00,他则会自动更改为24小时制表示发。您可以为 tod格式指定一个大于 24:00:00 的值,但它采用该值的 mod 和 24:00:00。例如,如果为tod指定值 '25:00:00’t,则会将该值的格式设置为 1:00:00。

具体例子为:

data one;

format time11 time. time12 tod.

time21 time. time22 tod.;

time11 = '9:00:00't*3;

time12 = '9:00:00't*3;

time21 = '9:25:00't-'10:30:00't;

time22 = '9:25:00't-'10:30:00't;

run;

最终会有如下结果:

2、@ VS @@

@:读取数据时,所有变量在一行读取完之后自动读取下一行数据作为下一行的观测 @@:形成输出记录时读取所有数据,即使某一行数据个数大于变量个数也不换行 区别与联系:@作用类似与@@,都是行停留指示符,不同的地方在于停留多久,@能使sas停留到下一个input语句(也不换行),@@能使停留的时间到下一个data步(也不换行)

关于@和@@这里不再过多赘述,链接中的文章写的很清楚明了

3、deadlines和deadline4

cards是几十年前输入数据是使用的打孔卡,其对于行的长度有一定的限制。datalines和dataline4都是后来为了突破行长度的限制添加的。其中dataline4中可以使用一些有特殊探疑的符号,且用四个连续的分号开始的一行来标记数据行的结束,而deadlines只需要一个分号即可。数据行不能包含分号。当数据包含分号时,需用 dataline4 语句即dataline4 可以读取包含您直接在程序中输入的分号的数据。

/*deadlines例子*/

data person;

infile datalines delimiter=',';

input name $ dept $;

datalines;

John,Sales

Mary,Acctng

;

/*deadline4例子*/

data biblio;

input number citation $50.;

datalines4;

KIRK, 1988

2 LIN ET AL., 1995; BRADY, 1993

3 BERG, 1990; ROA, 1994; WILLIAMS, 1992

;;;;

相关内容

快递邮寄台式机多重 顺丰快递,邮寄一台电脑主机多少钱?
莆田KTV夜总会招聘,推荐红火生意多班可选活力满满
KUB智能锁怎么样
365bet赌城投注

KUB智能锁怎么样

08-10 ☯ 7515