- Get link
- X
- Other Apps
DATA | INPUT | PROC TRANSPOSE | PREFIX | ASSIGNMENT STATEMENT
/*Use PROC TRANSPOSE to convert this dataset into a
format where each student has subjects as columns (wide format).*/
/*Add a new column to calculate the Average Marks per student.*/
DATA STUDENT_MARKS;
INPUT Student_ID Subject$ Marks;
DATALINES;
401 Math 85
401 Science 78
401 English 88
402 Math 90
402 Science 85
402 English 82
;
RUN;PROC PRINT;RUN;
OUTPUT:
Obs | Student_ID | Subject | Marks |
---|---|---|---|
1 | 401 | Math | 85 |
2 | 401 | Science | 78 |
3 | 401 | English | 88 |
4 | 402 | Math | 90 |
5 | 402 | Science | 85 |
6 | 402 | English | 82 |
PROC TRANSPOSE DATA=STUDENT_MARKS OUT=TRAN_MARKS(DROP=_NAME_) PREFIX=SUBJECT_;
BY STUDENT_ID;
ID SUBJECT;
VAR MARKS;
RUN;
PROC PRINT;RUN;
OUTPUT:
Obs | Student_ID | SUBJECT_Math | SUBJECT_Science | SUBJECT_English |
---|---|---|---|---|
1 | 401 | 85 | 78 | 88 |
2 | 402 | 90 | 85 | 82 |
DATA AVG_MARKS;
SET TRAN_MARKS;
AVG_MARKS=MEAN(OF SUBJECT_:);
RUN;
PROC PRINT;RUN;
OUTPUT:
Obs | Student_ID | SUBJECT_Math | SUBJECT_Science | SUBJECT_English | AVG_MARKS |
---|---|---|---|---|---|
1 | 401 | 85 | 78 | 88 | 83.6667 |
2 | 402 | 90 | 85 | 82 | 85.6667 |
PRACTICE AND COMMENT YOUR CODE:
-->PLEASE FOLLOW OUR BLOG FOR MORE UPDATES.
TO FOLLOW OUR TELEGRAM CHANNEL CLICK HERE
- Get link
- X
- Other Apps
Comments
Post a Comment