options linesize=70 nodate; * Efficiency of mouse vs. keyboard for accessing the menu and toolbar; data efficiency; infile "c:/datasets/efficiency.txt"; input time item $ correct $ cond $ id $ trial block; if correct = 'good'; drop correct; label cond = 'Item access method' block = 'Amount of practice'; * Show number of observations for each of the nine cells obtained by the settings of cond (mk, mm, tm) and block (1, 2, 3); proc freq; tables cond*block / nopercent norow nocol; * To compute means with a "by" condition, observations must first be sorted; proc sort; by cond block; * Compute mean of each cell; proc means mean; by cond block; var time; output out=means mean=ave; * Add a symbol variable for gplot; data addsym; set means; if cond="mk" then symbol=1; else if cond="mm" then symbol=2; else if cond="tm" then symbol=3; drop _TYPE_ _FREQ_; proc print; * Create plot; goptions reset=all; symbol1 value=square color=red i=join; symbol2 value=triangle color=green i=join; symbol3 value=circle color=blue i=join; proc gplot data=addsym; plot ave * block = symbol; * perform log transform on dependent variable; data logeff; set efficiency; logtime = log(time); keep logtime cond block; * Perform ANOVA for mixed effect model: cond is a random effect, block is fixed; proc glm; class cond block; model logtime = cond block / ss1 ss2 ss3 ss4; random cond; proc glm; class cond block; model logtime = cond block cond*block / ss1 ss2 ss3 ss4; random cond cond*block; run; quit;