/****************************************************************/ /* S A S S A M P L E L I B R A R Y */ /* */ /* NAME: VROEX5 */ /* TITLE: Documentation Example 5 for PROC VARIOGRAM */ /* PRODUCT: STAT */ /* SYSTEM: ALL */ /* KEYS: spatial analysis, semivariogram, outliers */ /* PROCS: VARIOGRAM */ /* DATA: */ /* */ /* SUPPORT: alkolo */ /* REF: PROC VARIOGRAM, EXAMPLE 5 */ /* MISC: */ /****************************************************************/ /* Run PROC VARIOGRAM to produce OUTPAIR= data set -------------*/ title 'Square Root Difference Cloud Example'; proc variogram data=sashelp.thick outp=outp noprint; compute novariogram; coordinates xc=East yc=North; var Thick; run; /* Obtain data subset to create square root difference cloud ---*/ data sqroot; set outp; /*- Include only points +/- 30 degrees of N-S -------*/ where abs(cos) < 0.5; /*- Unit lag of 7, distance tolerance of 3.5 --------*/ lag_class=int(distance/7 + 0.5000001); sqr_diff=sqrt(abs(v1-v2)); run; proc sort data=sqroot; by lag_class; run; /* Summarize results with the MEANS procedure ------------------*/ proc means data=sqroot noprint n mean std; var sqr_diff; by lag_class; output out=msqrt n=n mean=mean std=std; run; title2 'Summary of Results'; proc print data=msqrt; id lag_class; var n mean std; run; /* Create box plot of the square root difference cloud ---------*/ proc sgplot data=sqroot; xaxis label = "Lag Class"; yaxis label = "Square Root Difference"; title "Box Plot of the Square Root Difference Cloud"; vbox sqr_diff / category=lag_class; run;