Can you calculate the mean, median and mode of the following data set
using data step logic? Don't use any function or procedure.
data a;
input age @@;
datalines;
22 32 32 32 43 23 24 56 45 54 28 29 27 26 25 28 30 20 18 37 36 47 46
56 19 20
;
run;
I have calculated the mean which i have posted in the answer section.
Answers were Sorted based on User's Feedback
Answer / sattwik kumar
data b;
set a end=lastobs;
age_temp+age;
count+1;
if lastobs then
mean=age_temp/count;
run;
| Is This Answer Correct ? | 19 Yes | 4 No |
Answer / rg
data temp;
input age @@;
cards;
8 7 7 2 67 9 7 7 1 2 45 34 22 45 23 8 34 23
run;
proc sort data=temp; by age ;run;
data a(keep = median mode_age mean);
last_age=age;
retain max_cnt mode_age median;
set temp end=lastobs nobs=n;
by age;
age_temp + age;
/*Median */
if mod(n,2) = 1 and _n_ = (n+1)/2 then do ;median=age; end;
if mod(n,2) = 0 and _n_ = (n+2)/2 then do ;median=(age + last_age)/2; end;
/*Mean*/
if lastobs then do mean=age_temp/n ; end;
/*Mode */
if first.age then cnt =1; else cnt+1;
if last.age then lst_cnt=cnt;
if lst_cnt > max_cnt then do; max_cnt = lst_cnt; mode_age = age;end;
if lastobs then output;
run;
| Is This Answer Correct ? | 9 Yes | 1 No |
Answer / chandrakanth
options firstobs=1 obs=26;
data a;
input age @@;
datalines;
22 32 32 32 43 23 24 56 45 54 28 29 27 26
25 28 30 20 18 37 36 47 46
56 19 20
;
run;
proc sort data=a out=ab;
by age;
run;
options firstobs=13 obs=14;
data c;
set ab end=last;
sum_age+age;
if last then median=sum_age/2;
run;
we need observation 13 and 14 because total number of observations is n=26 when n is even we need to do mean of two observations n/2 and (n/2)+1 which is 13th and 14 th observations in this case.
let me know if you need more help... I'm still thinking about mode...will send once I get it
| Is This Answer Correct ? | 3 Yes | 2 No |
Answer / paul
data b;
set a end=lastobs;
age_temp+age;
count+1;
if lastobs then
mean=age_temp/count;
if _n_=13 then
Median=Age; /*median is the mid value */
run;
proc sort data=b out=c;
by age;
run;
data d;
set c;
if first.age=0 and last.age=0 then
Mode=age;/*mode is the most repeated value*/
by age;
run;
| Is This Answer Correct ? | 3 Yes | 9 No |
Answer:
data new;
set a end = last;
count+1;
age_n+age;
if last then do;
mean = round(((age_n)/(count)),.8);
median = ((count+1)/2);
end;
run;
By the above program we can calculate the mean and median.
lets us know me, if anybody find the logic for find mode
| Is This Answer Correct ? | 0 Yes | 6 No |
Why is SAS considered self-documenting?
How would you code a macro statement to produce information on the sas log? This statement can be coded anywhere? : sas-macro
What is PROC in SAS?
What is the use of the %include statement?
Explain the difference between informat and format with an example.
If you have a data set that contains 100 variables, but you need only five of those, what is the code to force SAS to use only those variable?
How we can create SAS USER DEFINED CODE?
describe how to adjust the performance of data integrator? : Sas-di
SAS using companies in chennai
How to convert a given date value into SAS date
9 Answers CitiGroup, Quintiles,
Why Info School? BUILD YOUR CAREER WITH RIGHT GUIDANCE AND SUPPORT
In a shcool there are 1000 students. After completion of every test in 6 subjects , each subject teacher submit the marks of every student at different times and loaded in the database commonly. How will you seperate the top two subject marks for each each studet using SAS?