Meine Ziele dieser Simulation ist es, die Fehlerrate Typ 1 der Tests unter mehreren Kombination von Faktoren zu bewerten.R: Codierung warum 0,00 im Ergebnis anzeigen
Probe Sizes- (10,10), (10,25), (25,25), (25,50), (25,100), 50,25), (50,100), (100, 25) (100.100)
Standardabweichung Verhältnis- (1,00, 1,50, 2,00, 2,50, 3,00 und 3,50)
Verteilung der Gamma-Verteilung mit ungleicher Schiefe und gleich Schiefe
Der involvierte 2-Stichproben-Test ist gepoolter Varianz-t-Test und welch t Test und Mann Whitney Test. Ich habe versucht, einen Code zu modifizieren, indem ich die obige Kombination von Faktoren verwendete.
########################################
#for normal distribution setup
# to ensure the reproducity of the result
#(here we declare the random seed generator)
set.seed(1)
## Put the samples sizes into matrix then use a loop for 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 to combine all 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 a data frame from combination of data
ss_sds1<- expand.grid(sample_sizes[2,], sd1)
#create a matrix combining the fifty four cases of combination of ss and sds
all_combine <- cbind(rep(sample_sizes[1,], 5), ss_sds1,sds2)
# name the column by sample samples 1 and 2 and standard deviation
colnames(all_combine) <- c("m", "n", "sds1","sds2")
#number of simulations
nSims<-10000
#set significance level,alpha for the whole simulation
alpha<-0.05
#set up matrix for storing data from 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 up vector for storing data from the three tests (nrow for all_combine=45)
equal1 <- unequal4<- mann7 <- rep(0, nrow(all_combine))
# this loop steps through the all_combine matrix
for(ss in 1:nrow(all_combine))
{
#generate samples from the first column and second column
m<-all_combine[ss,1]
n<-all_combine[ss,2]
for (sim in 1:nSims)
{
#generate random samples from 2 normal distribution
x<-rnorm(m,5,all_combine[ss,3])
y<-rnorm(n,5,4)
#extract p-value out and store every p-value into 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 the 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")
: Ich bin in R, jetzt habe ich einen Code in Normalverteilung abgeschlossen haben und haben auf zwei weitere Simulation über die Verteilung der Gamma-Verteilung hinzufügen, wenn sonst durch die Verwendung ... kann jemand pls einen Rat geben, wie man Wechsel von Normalverteilung zur Gammaverteilung? Ich stecke gerade in diesem Teil fest ...
HILFE !! der Code oben gab mir das Ergebnis 0,00 für mehrere Male, ich überprüfe sie für viele Male schon und doch habe ich keinen Fehler festgestellt. Bitte
Was 'ist nsds', und wie haben Sie schaffen' t_equal', 't_unequal' und' mann'. Sie scheinen Vektoren zu sein, und Sie schreiben über die Matrizen, in denen Sie sie mit jeder Simulation speichern möchten. –
Es tut mir leid, nsds ist die Länge der Standardabweichung. Und t_equal, t_unequal und mann sind Vektoren, in denen die Daten simuliert und gespeichert werden ... –
Ich habe gerade den Rest des Codes in meine Fragen bearbeitet .... danke für die Kommentare ... –