![]() | ![]() | ![]() |
Consider a study of the analgesic effects of treatments on elderly patients with neuralgia. Two test treatments and a placebo are compared. The response variable is whether the patient reported pain or not. Researchers recorded age and gender of the patients and the duration of complaint before the treatment began. The data, consisting of 60 patients, are contained in the data set Neuralgia.
Data Neuralgia;
input Treatment $ Sex $ Age Duration Pain $ @@;
datalines;
P F 68 1 No B M 74 16 No P F 67 30 No
P M 66 26 Yes B F 67 28 No B F 77 16 No
A F 71 12 No B F 72 50 No B F 76 9 Yes
A M 71 17 Yes A F 63 27 No A F 69 18 Yes
B F 66 12 No A M 62 42 No P F 64 1 Yes
A F 64 17 No P M 74 4 No A F 72 25 No
P M 70 1 Yes B M 66 19 No B M 59 29 No
A F 64 30 No A M 70 28 No A M 69 1 No
B F 78 1 No P M 83 1 Yes B F 69 42 No
B M 75 30 Yes P M 77 29 Yes P F 79 20 Yes
A M 70 12 No A F 69 12 No B F 65 14 No
B M 70 1 No B M 67 23 No A M 76 25 Yes
P M 78 12 Yes B M 77 1 Yes B F 69 24 No
P M 66 4 Yes P F 65 29 No P M 60 26 Yes
A M 78 15 Yes B M 75 21 Yes A F 67 11 No
P F 72 27 No P F 70 13 Yes A M 75 6 Yes
B F 65 7 No P F 68 27 Yes P M 68 11 Yes
P M 67 17 Yes B M 70 22 No A M 65 15 No
P F 67 1 Yes A M 67 10 No P F 72 11 Yes
A F 74 1 No B M 80 21 Yes A F 69 3 No
;
The data set Neuralgia contains five variables: Treatment, Sex, Age, Duration, and Pain. The last variable, Pain, is the response variable and you would like to test the association of each of the other four variables with PAIN.
The following statement creates a macro variable, ALPHA, containing the alpha level for the tests. For this example, the alpha level is 0.05.
%let alpha=.05;
All four tests of association can be performed in one PROC FREQ step as shown below. The ODS EXCLUDE ALL statement suppresses the display of all results. The ODS OUTPUT statement creates a SAS data set containing the results from each of the chi-square tests. The WHERE clause used in the ODS OUTPUT statement selects only the records containing a chi-square p-value less than the alpha level above. The ODS SELECT ALL statement restores display of subsequent results.
ods exclude all;
proc freq data=Neuralgia;
tables Pain*(Treatment Sex Age Duration) / chisq;
ods output chisq=out1(where=(statistic='Chi-Square' and Prob < &alpha));
run;
ods select all;
Next, a new macro variable, TABLES, is created to contain the table requests (such as Pain*Treatment) which yield significant results. The %LET statement initializes or resets the TABLES macro variable to a null value.
%let tables=;
data _null_;
set out1;
substr(table,1,5)='';
call symput('tables',symget('tables')||' '||trim(left(table)));
run;
Finally, PROC FREQ is run a second time using the TABLES macro variable to display only those tables that are significant.
ods exclude FishersExact;
proc freq data=Neuralgia;
tables &tables / chisq;
run;
In this example, only TREATMENT and SEX have a significant association with PAIN at the alpha=0.05 level.
| Product Family | Product | System | SAS Release | |
| Reported | Fixed* | |||
| SAS System | SAS/STAT | 64-bit Enabled AIX | ||
| Windows Vista | ||||
| Windows Millennium Edition (Me) | ||||
| Microsoft Windows XP Professional | ||||
| Microsoft Windows Server 2008 | ||||
| Microsoft Windows Server 2003 Standard Edition | ||||
| Microsoft Windows Server 2003 Enterprise Edition | ||||
| Microsoft Windows Server 2003 Datacenter Edition | ||||
| Microsoft Windows NT Workstation | ||||
| Microsoft Windows 2000 Professional | ||||
| Microsoft Windows 2000 Server | ||||
| Microsoft Windows 2000 Datacenter Server | ||||
| Microsoft Windows 2000 Advanced Server | ||||
| Microsoft Windows 95/98 | ||||
| Microsoft Windows 7 | ||||
| OS/2 | ||||
| Microsoft® Windows® for x64 | ||||
| Microsoft Windows XP 64-bit Edition | ||||
| Microsoft Windows Server 2003 Enterprise 64-bit Edition | ||||
| Microsoft Windows Server 2003 Datacenter 64-bit Edition | ||||
| Microsoft® Windows® for 64-Bit Itanium-based Systems | ||||
| OpenVMS VAX | ||||
| z/OS | ||||
| 64-bit Enabled HP-UX | ||||
| 64-bit Enabled Solaris | ||||
| ABI+ for Intel Architecture | ||||
| AIX | ||||
| HP-UX | ||||
| HP-UX IPF | ||||
| IRIX | ||||
| Linux | ||||
| Linux for x64 | ||||
| Linux on Itanium | ||||
| OpenVMS Alpha | ||||
| OpenVMS on HP Integrity | ||||
| Solaris | ||||
| Solaris for x64 | ||||
| Tru64 UNIX | ||||
| Type: | Usage Note |
| Priority: | |
| Topic: | Analytics ==> Categorical Data Analysis SAS Reference ==> Procedures ==> FREQ |
| Date Modified: | 2009-12-17 10:45:27 |
| Date Created: | 2009-12-07 08:51:41 |


