|
A New View of Statistics | |
options linesize=100;
options pagesize=30;
/*
What's the correlation corresponding to an effect size?
Results:
ES: 0.2 0.63 1.16 1.96 4.10
r: 0.1 0.3 0.5 0.7 0.9
Also, what is the freq difference when you dichotomize
a normally distributed outcome "through the middle"
of an effect-size difference?
Results:
Comes close to the scale: 8 24 44 67 96
instead of 10 30 50 70 90
*/
*generate es diff;
%macro data;
data dat1;
do id=1 to &samplen/2;
x=1;
y=rannor(0);
if y>&es/2 then outcome="positive"; else outcome="negative";
output;
end;
do id=1 to &samplen/2;
x=2;
y=rannor(0)+&es;
if y>&es/2 then outcome="positive"; else outcome="negative";
output;
end;
drop id;
%mend;
%let es=1.96;
%let samplen=100000;
%data;
proc corr;
var y x;
proc freq;
tables outcome*x/norow;
run;
/*
Divides a scattergram into four regions and calculates
freqs and effect sizes for those regions.
Results:
correlation: 0.1 0.3 0.5 0.7 0.9
freq diff: 7 20 33 50 70
effect size: 0.17 0.50 0.87 1.35 2.06
*/
*generate correlated y and x;
%macro data;
data dat1;
do id=1 to &samplen;
x=rannor(0);
if x<0 then group="cont"; else group="case";
y=&r*x+sqrt(1-&r**2)*rannor(0);
if y<0 then outcome="positive"; else outcome="negative";
output;
end;
drop id;
%mend;
%let r=0.1; *correlation between x and y;
%let samplen=100000;
%data;
proc corr;
var y x;
proc freq;
tables outcome*group/norow;
proc sort;
by group;
proc means n mean std maxdec=3;
var y;
by group;
run;
proc univariate plot;
var y;
by group;
run;
/*
What is the effect size corresponding to a freq diff
between two groups?
There's a more elegant way of doing this, I know!
*/
%macro data;
data;
x=1; y=1; do i=1 to &n*&f/100; output; end;
x=1; y=0; do i=1 to &n-&n*&f/100; output; end;
x=2; y=1; do i=1 to &n*(&f+&deltaf)/100; output; end;
x=2; y=0; do i=1 to &n-&n*(&f+&deltaf)/100; output; end;
%mend;
%let n=1000;
%let f=35;
%let deltaf=30;
%data;
proc means n mean std;
var y;
by x;
run;
/*
What is the validity correlation when you dichotomize
a normally distributed variable?
This addresses the question of loss of info when dichotomize.
Answer: r=0.8!
*/
%macro data;
data dat1;
do id=1 to &samplen;
x=rannor(0);
if x<0 then y=-1; else y=1;
output;
end;
drop id;
%mend;
%let samplen=10000;
%data;
proc corr;
var y x;
run;
/*
What is the average separation of two people drawn at random
from a normal distribution?;
Answer: effect size of 1.13.
*/
%macro data;
data dat1;
do id=1 to &samplen;
x1=rannor(0);
x2=rannor(0);
diff=abs(x1-x2);
output;
end;
drop id;
%mend;
%let samplen=10000;
%data;
proc univariate plot;
var diff;
run;
Go to: Previous · Contents · Search
· Home
resources=AT=sportsci.org · webmaster=AT=sportsci.org · Sportsci Homepage · Copyright
©1997
Last updated 10 June 97