options nodate pageno=1; DATA test; INPUT subject gender $ exam1 exam2 hw $; *compute final score and grade; final = (exam1 + exam2) / 2 ; IF (final GE 0 AND final LT 60) THEN grade='F'; ELSE IF final GE 60 THEN grade='P'; DATALINES; 10 M 80 84 A 7 M 85 89 A 4 F 90 86 B 20 M 52 55 B 25 F 94 94 A 14 F 88 84 C ; PROC SORT DATA=test; BY subject ; RUN; PROC PRINT DATA=test; TITLE 'Roster in Student Number Order'; VAR subject gender exam1 exam2 hw final grade; RUN; PROC FREQ DATA=test; TITLE 'Frequencies'; TABLE gender exam2 hw grade; RUN; PROC MEANS DATA=test; TITLE 'Default Simple Descriptive Statistics from PROC MEANS'; RUN; PROC MEANS DATA=test N MEAN STD MIN MAX VAR CV; TITLE 'Simple Descriptive Statistics from PROC MEANS with OPTIONS'; VAR exam1 exam2 final; RUN; PROC UNIVARIATE DATA=test; TITLE 'More Descriptive Statistics'; VAR final; RUN; PROC UNIVARIATE DATA=test PLOT; TITLE 'More Descriptive Statistics with plots'; VAR final; RUN; PROC CHART DATA=test; HBAR gender grade; VBAR exam1 / LEVEL = 6; HBAR grade / GROUP = gender; PIE gender; RUN; pattern1 color=cream; pattern2 color=pink; proc gchart; title "PIE chart"; pie grade gender/value=inside percent=arrow; run; quit; PROC PLOT DATA=test; PLOT exam1*exam2 = gender; RUN; QUIT; PROC MEANS DATA=test NOPRINT; VAR exam1 exam2 final; OUTPUT OUT=stat MEAN = mean_e1 mean_e2 mean_final STD = std_e1 std_e2 std_final; PROC PRINT; TITLE 'Listing of data set Stat'; RUN; PROC UNIVARIATE DATA=test NOPRINT; VAR exam1 exam2 final; OUTPUT OUT=summary N = n_e1 n_e2 n_final MEDIAN = med_e1 med_e2 med_final MEAN = mean_e1 mean_e2 mean_final; PROC PRINT DATA=test; TITLE 'Listing of data set Summary'; RUN; data zinc; input zn @@; all=1; cards; 50 51 53 55 56 58 60 60 60 61 61 61 61 62 62 62 62 63 63 63 64 64 64 64 64 65 65 65 66 66 66 67 67 67 67 67 68 68 68 68 69 70 70 70 70 70 70 70 70 70 71 71 71 71 71 71 71 71 71 71 71 72 72 72 72 72 72 72 72 72 72 72 72 72 73 73 73 73 73 73 73 73 73 74 74 74 74 74 74 74 74 74 74 74 74 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 76 76 76 76 76 76 76 76 76 76 76 76 76 77 77 77 77 77 77 77 77 77 77 78 78 78 78 78 78 78 78 78 78 78 78 79 79 79 79 79 79 80 80 80 80 80 80 80 80 80 80 80 81 81 81 81 81 81 81 81 81 81 82 82 82 82 82 82 82 82 82 82 82 82 82 83 83 83 83 83 83 83 83 83 83 83 84 84 84 84 84 84 84 84 84 84 84 84 84 84 85 85 85 85 85 85 85 85 85 85 85 86 86 86 86 86 86 86 86 86 86 86 86 86 87 87 87 87 87 87 87 87 87 87 88 88 88 88 88 88 88 88 88 88 88 88 88 88 89 89 89 89 89 89 89 89 89 90 90 90 90 90 90 90 90 91 91 91 91 91 91 91 91 91 91 92 92 92 92 92 92 92 92 93 93 93 93 93 93 93 93 93 94 94 94 94 94 94 94 94 94 94 94 95 95 95 95 95 95 95 95 95 95 95 96 96 96 96 96 96 96 96 96 96 97 97 97 97 97 97 97 97 97 98 98 98 98 98 98 98 98 98 99 99 99 99 99 99 100 100 100 100 100 101 101 101 101 101 101 101 102 102 102 102 102 102 102 102 103 103 103 103 103 103 104 104 104 104 104 104 104 105 105 105 105 105 105 105 105 106 106 106 106 106 106 107 107 107 107 107 107 107 108 108 108 108 108 108 108 109 109 110 110 111 111 111 111 112 112 112 113 113 113 114 114 114 114 115 115 115 116 116 116 116 117 117 117 118 118 119 119 121 123 124 125 128 131 135 142 147 151 153 ; proc univariate noprint; title "histogram"; histogram zn / cfill = blue endpoints = 50 to 160 by 10; run; proc boxplot; title 'BOXSTYLE=SCHEMATIC'; plot zn*all / boxstyle = schematic cboxes = blue CBOXFILL = yew idcolor = red IDSYMBOL = circle BOXWIDTH = 25 NOHLABEL; run; quit;