• SAS小记


    2011年8月13日    

    最近一直在跟着李东风的《统计软件教程》学习SAS,刚刚学完初等统计,感觉还没入门,找不到matlab编程时那种手顺的感觉。继续学习吧,加油!


        最近用spss处理数据,但是spss缺乏变量内的计算。想算出一个累积占比还得靠SAS
    首先 数据手动导入命名class;
    然后 数据按某一列降序排列;
    proc sort data=class  out=class2;
    by descending VAR2;
    run;
    最后 新加一列占比,并且算出累积占比;
    data class1;
    set class2;
    format _all_;
    retain getpost_sumzb;
    getpost_sumzb+getpost_zhanbi;
    retain sumbytes_sumzb;
    sumbytes_sumzb+sumbytes_zhanbi;
    chazhi=getpost_sumzb-sumbytes_sumzb;
    run;
    proc sort data=class1  out=class3;
    by descending chazhi;
    run;
    data class_80;
    set class1;
    if getpost_sumzb<=0.8;
    run;
     
    如下是高手的方法特此引荐,以后细看:
     
    data a;
    input date :yymmn6.
          amt  
              ;
    format date yymmn6.;
    cards;
    201101    100 
    201102    200
    201103    300
    201104    400
    201105    500
    ;
     data result1;
      do until(last);
        set a end=last;
            ytd_amt+amt;
            output;
      end;
     run;
     proc sql;
        create table result2 as
          select distinct (a.date),a.amt, sum(b.amt) as ytd_amt
                from (select a.*,monotonic() as n from a) a
                      join  (select a.*,monotonic() as n from a) b
                        on a.n ge b.n
                          group by a.n;
     quit;
     
    错误: ERROR: Width specified for format F is invalid
        或 ERROR: 为输出格式“F”指定的宽度无效

    The following errors occur after you try to import an SPSS file into a SAS data set:

    ERROR: The decimal specification of 2 must be less than the width specification of 2. ERROR: The decimal specification of 2 must be less than the width specification of 2. ERROR: The decimal specification of 2 must be less than the width specification of 2. ERROR: Width specified for format F is invalid. ERROR: Width specified for format F is invalid. ERROR: Width specified for format F is invalid.

    For example, these errors occur when you submit an IMPORT procedure similar to the following:

    proc import datafile="c: emp est.sav" out=xyz dbms=sav; run; data test1; set xyz; run;

    The errors occur when the lengths of the SPSS fields are read into the SAS® System as negative values.

    To circumvent this error, use FORMAT _ALL_ statement in the DATA step, as shown in the following output:

    data test1; set xyz; format _all_; run; NOTE: There were 6 observations read from the data set WORK.XYZ. NOTE: The data set WORK.TEST1 has 6 observations and 642 variables. NOTE: DATA statement used (Total process time): real time 0.01 seconds cpu time 0.01 seconds
  • 相关阅读:
    【百度地图API】如何获取行政区域的边界?(转载)
    Javascript原型,原型链?有什么特点?
    什么是闭包?为什么使用闭包?闭包的缺点?
    为什么利用多个域名来存储网站资源会更有效?
    javascript如何处理很多数据,类似分页切换
    关于模板引擎handlebars.js基本用法
    关于CSS3的filter(滤镜) 属性
    App里面如何正确显示用户头像
    jQuery性能优化的一些参考建议
    文字超出显示省略号
  • 原文地址:https://www.cnblogs.com/zhangleisanshi/p/5168751.html
Copyright © 2020-2023  润新知