In programming, sorting can occur in ascending way or ascending way. I often get confused by this distinction when I use SAS PROC SORT. To summarize:
Sorting by ascending order means:
Sorting by descending order means:
The following is an example of how descending can be specified. The first SORT procedure sorts the data by first DateModified by natural sequence and TimeModified by the descending order. This means that older data (defined by TimeModified) in the presence of duplicate rows (the same date) will appear first. The second SORT procedure has the nodupkey option, which means that only the first and thus oldest data will be kept and the rest are deleted if the data came from the same date.
proc sort;by Table1_ID child_number DateModified descending TimeModified;
proc sort nodupkey;by Table1_ID child_number;
It is common to code the binary outcome as 0 (failure) and 1 (success); however, PROC LOGISTIC models the occurrence of 1 not 0.
%let excelname="C:\ ... \temp.xlsx";
PROC EXPORT DATA=kazmean1 OUTFILE= "&excelname"
This creates a library in which you will find all tables in the Access database.
libname johnwayne pcfiles path="C:\temp\this_is_access_data.accdb";
You will find a library (johnwayne in this example) in the SAS-Explorer window.
SAS prints graphics by default. This can be suppressed by:
ods graphics off;
To suppress printing specifically of PROC REG, add the following to the PROC REG statement:
MAXPOINTS=NONE | max <heat-max>
suppresses most plots that require processing more than max points. When the number of points exceeds max but does not exceed heat-max divided by the number of independent variables, heat maps are displayed instead of scatter plots for the fit and residual plots. All other plots are suppressed when the number of points exceeds max. The default is MAXPOINTS=5000 150000. These cutoffs are ignored if you specify MAXPOINTS=NONE.
The following SAS datastep conducts a test using functions in a datastep.
proc means data=both STACKODSOUTPUT n mean std min max stderr ;
class treat ;
ods output summary=kaz2;
data c;set kaz2;
keep N_C MEAN_C StdDev_c MIN_C MAX_C StdErr_C Variable label;
data t;set kaz2;
keep N_T MEAN_T StdDev_t MIN_T MAX_T Variable_QC StdErr_t;
merge C T ;
POOLED_SE=sqrt( ( (StdDev_t*StdDev_t) / N_T ) + ( (StdDev_c*StdDev_c ) / N_C ) );
*if P_value < 0.1 then sig="t";
if P_value < 0.05 then sig="* ";
if P_value < 0.01 then sig="** ";
if P_value < 0.001 then sig="***";
if P_value =. then sig="";
libname kaz "...";
FORMAT fixed_date date9. ;
keep age FINAL_DOB;
Check the number of cases within each group (i.e. treatment and control group).
Check if the number of treatment school and control school is balanced within block.