SAS入门3

SAS入门2回顾:

1、proc format语句:

invalue<$>格式名 变量或范围=输入格式;

value<$>格式名 变量或范围=输出格式;

2、设置变量长度:length语句(由第一个变量的值决定)

例:

data eva;

length bonus $5.;

input id g bonus$;

if g<70 then eva="合格"; elseeva="不合格";

eva=bonus;

cards;

注:“字符变量一旦产生,它的长度就无法改变”。



一、与数值有关的函数

mod(x,y)   返回x除以y的余数

abs(x)   返回x的绝对值

exp(x)    返回x的指数值

log(x)    返回x的自然对数值

log10(x)   返回x的以10为底的对数值

sqrt(x)    返回x的平方根

ceil(x)    返回≥x的最小整数

floor(x)    返回≤x的最大整数

int(x)    返回x的整数部分

例:

data aa;

input x;

sx=sqrt(x);  lx=log(x);

cards;

二、与统计有关的函数

函数(x1,x2,x3,…xn)或函数(of x1-xn)

例:


三、与字符有关的函数

1、更改字母大小写

upcase(变量或字符串);  作用是将所有字母改为大写。

lowcase(变量或字符串);   作用是将所有字母改为小写。

例:gender=lowcase(gender);

2、变量或字符串的连接:

例:

3、计算变量或字符串的长度:

lengthn(变量或字符串)、空值返回为0

例:

data code;

input name&:$50. gender:$;        

len1=lengthn(name);

len2=lengthn(gender);

4、提取变量或字符串中的字符

substrn(变量,起始位置,提取长度)

例:

*根据身份证确定出生日期

5、查找变量或字符串中的字符

find(变量或字符串,查找内容,起始位置) /*忽略大小写,所有字符完全匹配*/

findc(变量或字符串,查找内容,起始位置)/*忽略大小写,部分字符匹配*/

例:

type1=find(tp,"int","i");      /*在变量tp中查找完整的int,忽略大小写*/

type2=findc(tp,"int","i");     /*在变量tp中查找int中任一字母,忽略大小写*/

6、去除变量或字符串中的字符

ccompress(变量或字符串,欲去除的字符,修饰符)

四种修饰符:

a,去掉变量或字符串中的所有字母

d,去掉变量或字符串中的所有数字

s,去掉变量或字符串中的所有空格

i,忽略大小写

7、替换变量或字符串中的字符

tranwrd(变量或字符串,查找值,替换值)

例:

input id dose&:$30.;   /*dose变量包含空格,因此加上&符号*/

dose1=tranwrd(dose,"口服","PO");  /*将“口服”替换为“PO”*/

cards;

8、查找缺失值

missing(变量)/*”是“--->1 ;  "不是"-->0

例:

mgender=missing(gender); /*判断gender是否有缺失*/

mage=missing(age);           /*判断age是否有缺失 */

四、与日期有关的函数

1、日期的提取与整合

*注:mdy(月,日,年)

例:

2、日期间隔函数

yrdif(开始日期,结束日期,“actual")

例:life=yrdif(start,end);    /*计算两个日期之间的实际年数 */

五、与变量类型转换有关的函数

input(变量,输入格式) /*字符型变量-->数值型*/

put(变量,输出格式)/*数值型变量-->字符型*/

例:

input  sn:$10. d1:$10. d2:$10.;

sn2=input(sn,10.);   /*将sn按长度为10的格式转为数值型 */

date1=input(d1,yymmdd8.);   /*将d1按yymmdd8.的格式转为数值型 */

date2=input(d2,date9.);   /*将d2按date9.的格式转为数值型*

proc  contents;     /*显示数据集convert中的变量类型*/


六、其它函数

以下两个函数在处理动态数据、追踪数据方面几乎是必备的,如计算环比。

1、lag函数 :

返回指定变量的前一个(或前几个)记录;

2、dif函数: 

返回当前记录与前一个(或前几个)记录的差值。

*计算环比
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容