###################### #MATH 4311 R Examples# # # #Transformations of # #Random Variables # ###################### #Gamma Distribution alpha=3 theta=0.01 X=rgamma(n=10000,shape=alpha,scale=theta) mean(X) alpha*theta sd(X)^2 alpha*theta^2 range(X) index=seq(from=min(X),to=max(X),length.out=100) hist(X,freq=FALSE,breaks=100) lines(index,1/(gamma(alpha)*theta^alpha)*index^(alpha-1)*exp(-index/theta),col="red") #Transforming X Y=exp(X) y.index=seq(from=min(Y),to=max(Y),length.out=100) hist(Y,freq=FALSE,breaks=100) lines(y.index, 1/(gamma(alpha)*theta^alpha)*(log(y.index))^(alpha-1)/(y.index^(1+1/theta)), col="red") #f(x)=3/32*x^5 X=(64*runif(10000))^(1/6) x.index=seq(from=min(X),to=max(X),length.out=100) hist(X,freq=FALSE,breaks=100) lines(x.index,3/32*x.index^5,col="red") #Tranformation Y=X^3 y.index=seq(from=min(Y),to=max(Y),length.out=100) hist(Y,freq=FALSE,breaks=100) lines(y.index,1/32*y.index,col="red") ######################### #How to write a function# ######################### my.sum=function(a,b){ c=a+b return(c) } my.sum(5,9) hypotenuse=function(a,b){ c=sqrt(a^2+b^2) return(c) } hypotenuse(3,4) fibonacci=function(n){ results=vector(length=n) results[1]=0 results[2]=1 for(i in 3:n){ results[i]=results[i-1]+results[i-2] } return(results) } fibonacci(20) fibonacci(1000) f=fibonacci(1000) f[1000]