SAS中文论坛

标题: 各位老师,谁能帮我注解一下这段sas小程序 [打印本页]

作者: shiyiming    时间: 2008-2-1 17:18
标题: 各位老师,谁能帮我注解一下这段sas小程序
DATA A;
INPUT aa ry;
cards;
0.0         402.0
4.0         457.3
8.0         460.5
12.0         453.0

;
TITLE1 'Yield Response Data';
TITLE2 'LRP Model';
PROC NLIN DATA=A BEST=3;
PARMS A=400 to 500 by 10 B=0 to 30 by 1 K=0 to 12 by 4;
IF AA<K THEN DO;
MODEL RY = A + B*AA;
DER.A = 1;
DER.B = AA;
DER.K = 0;
END;
ELSE DO;
MODEL RY = A + B*K;
DER.A = 1;
DER.B = K;
DER.K = B;
END;
FILE PRINT;
IF _OBS_ = 1 AND _MODEL_= 0 THEN DO;
PLATEAU = A + B*K;
PUT PLATEAU=;
END;
PLATEAU = A + B*K;
ID PLATEAU;
OUTPUT OUT=NEW P=PRY PARMS=A B K SSE=SSE;
RUN;
PROC PLOT;
PLOT RY*AA='+' PRY*AA='*'/OVERLAY;
RUN;
/*   For you information:
     */
/*   This part of the program outputs Rsquares, significance,
plateau,  */
/*   and soil-test value at the joining point into a nice dataset.
    */
PROC MEANS NOPRINT;
VAR RY SSE A B K PLATEAU;
OUTPUT OUT=NEW2 N=TDF
                MEAN=RY SSE A B K PLATEAU
                CSS=CSST;
DATA NEW3; SET NEW2;
INTERCPT=A; SLOPE=B; JOINT=K;
RSQ=(CSST-SSE)/CSST;
EDF=TDF-3;
SSR=CSST-SSE;
MSR=SSR/2;
MSE=SSE/EDF;
F=MSR/MSE;
PROBF=1-(PROBF(F,2,EDF));
KEEP INTERCPT SLOPE JOINT PLATEAU RSQ F PROBF;
PROC PRINT;
RUN;




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2