注册地址 登录
数学建模社区-数学中国 返回首页

Inconceivable··· http://www.madio.net/?498319 [收藏] [复制] [分享] [RSS] 希望今年的数模之路不可思议···

日志

sas知识基础学习(三)

已有 535 次阅读2012-7-24 00:15 | sas知识基础学习

 

 

sas知识基础学习(下篇)

libname建立逻辑库和数据库连接:
          libname oralib oracle user=scott password=p path=liutest dbindex=y  --
oracle类型的数据库连接
         
取消逻辑库:libname oradb clear;        --oradb是逻辑库名字
         
db2的连接:libname db2lib db2 authid=scott ssid=p;  
          820  libname ce1  clear;                                                
          NOTE: Libref CE1 has been deassigned.
         
         
数据步读入原始数据:要使用inputdatalinesinfile语句
                  
使用input语句读入原始数据:input语句的5种输入方式:简单方式,列方式,格式化方式,列表方式,命名方式。
                          
          
input
的列方式:用来读入严格排列好的标准数据
       data liu1.scores;   --
输入到逻辑库liu1的表scores里面                  
       infile datalines truncover;             
       input name $1-10 sex $11 age $12-15;   --
行的第110列的值为name的输入值,11列为sex的值,1215列值是age的值
       datalines;                         
       justine   F 12                     
       bob       M 13                     
       run;
 
列表方式;要求input语句按照读入数据的顺序设定变量名称。列表方式下的分隔符默认为空格。
          
用列表方式的条件:输入数据值之间至少由一个空格隔开;用小数点表示缺省值。
          
:格式修饰符:要对变量值长度不一致的变量规定统一长度就必须用到该格式修饰符。sas默认字符长度8B
          data liu1.blank;
          input univ:$12. plc$ zip;
          cards;
          mit boston 100023
          tsinghuauniv  beijing 100084
          run;    
         
如果不对univ归档长度,读入第二条记录时就会只读入tsinghua8B),就会报错。
         &
格式修饰符:字符型输入值可能包含一个或几个空格,如果要读入的数据值本身包含空格时就必须用此格式符。
         data liu1.blank;
         input name & $12. age;
         cards;
         jiang zhu  20             --jiang zhu
数据值本身有空格
         annie zheng  31
         I.altman     60
         run;
      
因为&的特性,数据之间应该用两个以上的空格隔开。
       ~
格式修饰符:规定读入字符值保留引号,此格式修饰符只能在infile语句于选项dsd一起使用才有效。
       DSD
:将默认分隔符改为逗号;如果不加~则自动会把数据中的引号去掉。
       data liu1.blank;
       infile datalines dsd;
       input speakers : $15. title ~$40. location & $10.;
       datalines;
       song, "credit derivatives",room 329 --
上面的~格式符会把引号保留
       run;
      
格式化方式: input语句读取非标准数据的唯一方法。
            
格式化方式输入:
             data

             infile datalines

             input (x1-x5) (3*7.2, 2*5.2);
             ...
             n*
规定在输入列表中后面的输入格式重复n次;上面前3个变量x1-x3格式为7.2.后两个变量x4-x5格式为5.2
 
              data liu1.blank;
              input x comma9.2;
              datalines;
              $1,000.22         --
该数据符号加上数字一共是9列;结果是1000.22
              run;  
           
分组格式表:含有两个列表
            input (s1-s5)(4.)  /* s1
s5取值宽度均是4. */
            input (a b)($,5.)  /* a
的格式是$,b的格式是5. */
            input (name s1-s5)($10. 5*4.) /*name
格式是$10. s1s5格式是4. */
           
            data liu1.blank;
            input (name score1-score5)($10. 5*4.);
            datalines;
            whittaker 121 114 137 156 142
            smythe    111 97  122 143 127
            run;
             
命名方式输入:如果数据行中有变量的值,后面跟着等号和变量的值,读取数据时应该使用命名输入方式。      
               input date yymmdd10. fullshr  stkcd=$  lstknm=$ ;
              
              
              
数据步文件管理:
   data
语句:   data;系统自动规定数据集名datan,  data a; 创建临时数据集a, data resdat.a;创建永久数据集resdat.a
                         data data1 data2;
创建两个临时数据集data1data2, data _null_;特殊名,不创建sas数据集,用于输出
      
            data _null_;
            input (name score1-score5)($10. 5*4.);
            datalines;
            whittaker 121 114 137 156 142
            smythe    111 97  122 143 127
            run;
           
            data data1 data2;  --
创建两个临时数据集data1data2,保存在work逻辑库里
            run;
           
            data _null_;
常和put用,用来输出结构,只输出到log窗口,不会产生sas数据集。
  cards
语句:cards语句和datalines语句告诉sas系统下面跟着的是数据行
 
数据行中有分号时,要用cards4语句或datalines4语句
    data _null_;
    input var1& var2&var3&;
    cards4;
    a;b(;);;
    run;                
  
 put
语句:sas系统的log窗口;sas系统的output窗口;file语句规定的外部文件;
        input
用于输入,put用于输出
 by
语句;用于规定分组变量,用于控制setmergeupdatemodify语句的操作。
 set
语句:从一个或多个已存在的sas数据集中读取观测值,并将这些观测值组合在一个数据集中
 file
语句;用于规定将要输出的外部文件。
 infile
语句:用来定义一个外部数据文件。 
  
data
语句表示数据步开始。
keep
语句:规定输出数据中要保留的变量
drop
语句:规定输出数据集中要删除的变量。


路过

雷人

握手

鲜花

鸡蛋

发表评论 评论 (1 个评论)

回复 zuster 2012-7-24 00:16
请问管理员为什么日志也要审核啊???

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-4-12 01:46 , Processed in 0.270779 second(s), 28 queries .

回顶部