if statement - R: coding why show 0.00 in result -


my aims of simulation evaluate type 1 error rate of tests under several combination of factors.

  1. sample sizes-(10,10),(10,25),(25,25),(25,50),(25,100),50,25),(50,100), (100,25),(100,100)

  2. standard deviation ratio- (1.00, 1.50, 2.00, 2.50, 3.00 , 3.50)

  3. distribution of gamma distribution unequal skewness , equal skewness

the 2 sample test involved pooled variance t test , welch t test , mann whitney test. tried modified code using above combination of factors.

########################################     #for normal distribution setup  # ensure reproducity of result  #(here declare random seed generator)  set.seed(1)  ## put samples sizes matrix use loop sample sizes  sample_sizes<-matrix(c(10,10,10,25,25,25,25,50,25,100,50,25,50,100,100,25,100,100),  nrow=2)  #create vector combine std deviations sds<-matrix(c(4,4,6,4,8,4,10,4,12,4,14,4),nrow=2)  sd1<-c(4,6,8,10,12) sd2<-c(4,4,4,4,4) sds2<-rep(sd2,each=9)  ##(use expand.grid)to create data frame combination of data ss_sds1<- expand.grid(sample_sizes[2,], sd1)  #create matrix combining fifty 4 cases of combination of ss , sds all_combine <- cbind(rep(sample_sizes[1,], 5), ss_sds1,sds2)  # name column sample samples 1 , 2 , standard deviation colnames(all_combine) <- c("m", "n", "sds1","sds2")  #number of simulations  nsims<-10000  #set significance level,alpha whole simulation alpha<-0.05         #set matrix storing data simulation #set nrow =nsims because wan storing every p-value simulated matrix1_equal  <-matrix(0,nrow=nsims,ncol=9) matrix4_unequal<-matrix(0,nrow=nsims,ncol=9) matrix7_mann   <-matrix(0,nrow=nsims,ncol=9)  #set vector storing data 3 tests (nrow all_combine=45) equal1  <- unequal4<- mann7 <- rep(0, nrow(all_combine))    # loop steps through all_combine matrix   for(ss in 1:nrow(all_combine))     {    #generate samples first column , second column     m<-all_combine[ss,1]     n<-all_combine[ss,2]           (sim in 1:nsims)       {       #generate random samples 2 normal distribution       x<-rnorm(m,5,all_combine[ss,3])       y<-rnorm(n,5,4)        #extract p-value out , store every p-value matrix       matrix1_equal[sim,1]<-t.test(x,y,var.equal=true)$p.value           matrix4_unequal[sim,4]<-t.test(x,y,var.equal=false)$p.value        matrix7_mann[sim,7] <-wilcox.test(x,y)$p.value         }       ##store result      equal1[ss]<- mean(matrix1_equal[,1]<=alpha)      unequal4[ss]<-mean(matrix4_unequal[,4]<=alpha)      mann7[ss]<- mean(matrix7_mann[,7]<=alpha)   }     # combine results     nresult <- cbind(all_combine, equal1, unequal4, mann7)      save.image(file="normal.data") 

i new in r , have completed code in normal distribution , have add on 2 more simulation on distribution of gamma distribution using if else...can pls give advice how change normal distr. gamma distr? stucking in part right now...

help!! code above gave me result 0.00 several times, check them many times , yet did not spot mistake. please

this current coding..

 ########################################     #for normal distribution setup  # ensure reproducity of result  #(here declare random seed generator)  set.seed(1)  ## put samples sizes matrix use loop sample sizes  sample_sizes<-matrix(c(10,10,10,25,25,25,25,50,25,100,50,25,50,100,100,25,100,100),  nrow=2)  #create vector combine std deviations sds<-matrix(c(4,4,6,4,8,4,10,4,12,4,14,4),nrow=2)  sd1<-c(4,6,8,10,12) sd2<-c(4,4,4,4,4) sds2<-rep(sd2,each=9)  ##(use expand.grid)to create data frame combination of data ss_sds1<- expand.grid(sample_sizes[2,], sd1)  #create matrix combining fifty 4 cases of combination of ss , sds all_combine <- cbind(rep(sample_sizes[1,], 5), ss_sds1,sds2)  # name column sample samples 1 , 2 , standard deviation colnames(all_combine) <- c("m", "n", "sds1","sds2")  #number of simulations  nsims<-10000  #set significance level,alpha whole simulation alpha<-0.05         #set matrix storing data simulation #set nrow =nsims because wan storing every p-value simulated matrix1_equal  <-matrix(0,nrow=nsims,ncol=9) matrix4_unequal<-matrix(0,nrow=nsims,ncol=9) matrix7_mann   <-matrix(0,nrow=nsims,ncol=9)  #set vector storing data 3 tests (nrow all_combine=45) equal1  <- unequal4<- mann7 <- rep(0, nrow(all_combine))    # loop steps through all_combine matrix   for(ss in 1:nrow(all_combine))     {    #generate samples first column , second column     m<-all_combine[ss,1]     n<-all_combine[ss,2]           (sim in 1:nsims)       {       #generate random samples 2 normal distribution       x<-rnorm(m,5,all_combine[ss,3])       y<-rnorm(n,5,4)        #extract p-value out , store every p-value matrix       matrix1_equal[sim,1]<-t.test(x,y,var.equal=true)$p.value           matrix4_unequal[sim,4]<-t.test(x,y,var.equal=false)$p.value        matrix7_mann[sim,7] <-wilcox.test(x,y)$p.value         }       ##store result      equal1[ss]<- mean(matrix1_equal[,1]<=alpha)      unequal4[ss]<-mean(matrix4_unequal[,4]<=alpha)      mann7[ss]<- mean(matrix7_mann[,7]<=alpha)   }     # combine results     nresult <- cbind(all_combine, equal1, unequal4, mann7)      save.image(file="normal.data") 

Comments