newrt<-function(df=1){ #generates a t random variable using the accept-reject method# check<-0 while (check==0){ y1<-runif(1)*2-1 y2<-runif(1) if (y2<0.5){x<-y1} else {x<-1/y1} u<-runif(1) if (u<= (((1+(x^2)/df)^(-(df+1)/2) )/min(1,x^(-2)))) {check<-1} } return(x) }