#Generates multinomial data for OIR/GPA example #Stores file in cumlogsim.txt, which can be read into SAS cumsim=function(n,a,b){ #Generate GPA's at fixed support point and probabilities GPA=sample(x=c(2.0,2.5,3.0,3.5,4.0),size=n,replace=TRUE,prob=c(.10,.20,.30,.20,.20)) OIR=NULL for(i in 1:n){ e1=a[1]+b[1]*GPA[i] e2=a[2]+b[2]*GPA[i] e3=a[3]+b[3]*GPA[i] e4=a[4]+b[4]*GPA[i] p1=1/(1+exp(-e1)) p2=1/(1+exp(-e2))-p1 p3=1/(1+exp(-e3))-1/(1+exp(-e2)) p4=1/(1+exp(-e4))-1/(1+exp(-e3)) p5=1/(1+exp(e4)) samp=rmultinom(1,1,c(p1,p2,p3,p4,p5)) OIR[i]=order(samp)[5] } write(t(cbind(GPA,OIR)),"/STAT 770/cumlogsim.txt",ncol=2) } cumsim(1800,c(2.0,2.5,4.0,6.5),c(-1.5,-1.5,-1.65,-1.05))