ich weiß nicht, ob mein Problem in diesem Unterforum passend ist, aber ich möchte einen loop bauen, der so lamge läuft bis eine Test-Statistik (wilcox test) erfüllt ist.
Ich möchte 2 samples aus einer population ziehen. Dabei ist die Bedingung, dass ich am Ende 2 Samples erhalte, die sich nicht signifikant voneinander unterscheiden.
Das sieht man so bei mir aus:
Code: Alles auswählen
repeat {
rm("a") #alte daten löschen
rm("b")
rm("df")
rm("df1")
df<- data.frame(sample(0:10,10000,replace=T)) #draw random population
names(df) <- c("y") #rename
lapply(df, as.numeric) #benutze ich, weil ich dachte mein Problem "Error: (list) object cannot be coerced to type 'double'" lösen zu können
df$ID <- seq.int(nrow(df)) #add ID column
a <- df[sample(1:nrow(df), 1000),] #Draw random sample from population
lapply(a, as.numeric)
df1 <- df[!(df$ID %in% a$ID),] #delete randomly drawn data from population --> das ist quasi ziehen ohne zurücklegen, damit ich keine Duplikate in meinen 2 samples habe
lapply(df1, as.numeric)
b <- df[sample(1:nrow(df), 1000),] #Draw sample again from population
lapply(b, as.numeric)
if (wilcox.test(a$y,b$y) < 0.05){ #diese Bedingung soll erfüllt sein
break
}
}
Error: (list) object cannot be coerced to type 'double
Kann mir hier jemand helfen?
Grüße
Qi