sas informat、format程序是什么意思?
format 是控制数据在sas数据集上显示的格式,而informat则是控制将外部数据导入到SAS数据集的格式要求。貌似w.d.格式在format和informat后面的用法有些出入
data test1;
format x 8.2;
x=1234.1234;
put x=;
run;
data test11;
format x 8.5;
set test1;
put x=;
run;
data test12;
format x 8.7;
set test1;
put x=;
run;
data test13;
format x 9.3;
set test1;
put x=;
run;
data test13;
format x 9.4;
set test1;
put x=;
run;
format中的w是控制整个长度的,而informat不是
data test2;
informat x 8.2;
x=1234.1234;
put x=;
run;
data test21;
informat x 8.1;
x=1234.1234;
put x=;
run;
data test22;
informat x 8.;
x=1234.1234;
put x=;
run;
按理说informat的这几个值应该不同,后面的小数读的不一样,但运行结果确是一样的,这里确实是有些诡异。。。
SAS中format和informat的区别
SAS中informat和format的使用
SAS中informat用来设定输入数据的格式,而format用来设定输出数据的格式。举个例子,输出当前时间:
data time;
x=date();
format x mmddyy10.;
put x=;
run;
如果没有format行,那么SAS系统就会把当前时间输出为一个数字(SAS用相对1960年1月1日的天数来存储日期),format指定了x的输出格式,以便于用户阅读。Format改变的是输出格式,而informat则是关于SAS的读入格式。举例,如果你的C盘下有个文本数据文件informat.txt,储存的是一个时间变量dte,有两个观测值:
dte
2008-4-8
2007-9-12
你要是这样读取,就会出错:
data a;
infile “c:\informat.txt” firstobs=2 obs=3;
input dte;
run;
因为这里并没有指定输入数据格式,如果是数值数据,这当然没问题,但SAS并不认识时间,这时你就要用informat了,下面的程序就能正确读入informat.txt了:
data a;
infile “c:\informat.txt” firstobs=2 obs=3;
input dte;
informat dte yymmdd10.;
run;
这里yymmdd10.就是时间的读入的格式,这让SAS知道了读入的数据是时间,它可以进行相应的转换来存储并读入。由于SAS对时间做了转换,也就是存储为相对于1960年1月1日的天数,为了能够让输出我们能够明白,即不是数字,我们还可以用format来改变输出格式,完整的程序如下:
data a;
infile “c:\informat.txt” firstobs=2 obs=3;
input dte;
informat dte yymmdd10.;
format dte yymmdd10.;
put dte=;
run;
注:选项firstobs表示从第几行开始读入,obs表示到第几行读入结束,也就是从第firstobs行读到obs行,不设置obs则一直读到数据文件结尾。
如何查看SAS中所有定义过的format
如果是看format定义的内容的话,可以直接用proc format来显示:proc format; invalue groupf ‘group A’ = 1 ‘group B’ = 2 ‘group C’ = 3 ‘group D’ = 4 ; run; proc format library=work fmtlib; select @groupf; run;
sas如何用informat表示日期变量
SAS日期型变量一般是 变量名 Date9..我一般生成新变量的时候会用 format var date9.;
怎么将SAS格式的数据转换成STATA的?急!!!!
你可以通过转换成中间格式例如.XLS或者SPSS数据文件格式 然后通过STATA导入即可 如果数据的属性不是很复杂的话 转换应该问题不是很大 如果属性很复杂 会存在一定程度上的数据损失
二级access中format语句什么意思?
format是格式化的意思 format(date(),"yyyy-4-1")就是将date()即当前日期格式化成2010-4-1的格式输出
求高手解释 sas proc format 的一个小问题
括号里面:“因为格式(format)既可以是字符型的也可以是数值型的”
sas 日期格式转换
SELECT &PARA_DATE AS DATA_DT format=date10. ,TD.Cust_Num FROM INC_CHANGES TD WHERE TD.Data_Dt = intnx(‘month’, &PARA_DATE, -1,’end’)
电脑问题?这些是什么格式,用于什么文件使用?
SAS:
一种统计软件的数据库保存程序文件
XPORT:
对于SAS,R只能读入SAS Transport format(XPORT)文件。所以需要把普通的SAS数据文件(.ssd和.sas7bdat)转换为Transport format(XPORT)文件
XML:
Extensible Markup Language 可扩展标记语言,基于 SGML(Standard Generalized Markup Language)
SGML:
标准通用标签语言
Molfile:可能是一种手机软件的格式
doc:
FrameMaker、FrameBuilder文档
Word Star、Word Perfect、Microsoft Word文档
DisplayWrite文档
PDF:
Adobe Acrobat文档格式,与平台无关的格式,多用于电子书,7.0版开始支持插入多媒体信息
Microsoft系统管理服务器包定义文件
NetWare打印机定义文件
sas 中怎么把字符转化为数据
例如变量A是以字符型保存的一串数字,定义一个新的数值变量B 并将A赋值过去即可. format B best12.; B=strip(A); B=strip(A)也可以用B=INPUT(STRIP(A),8.)代替. 如果A中是字符与数字组合的情况,如ID123,则需要考虑结合substr函数来截取数字部分咯