Modérateur : Groupe des modérateurs
Code : Tout sélectionner
(X <- 1:1000) # toutes les obs
# version "manuelle"
(s1 <- sample(X, 100, replace=FALSE)) # 1er echantillon
(s2 <- sample(X[!(X %in% s1)], 100, replace=FALSE)) # 2eme echantillon
(s3 <- sample(X[!(X %in% c(s1, s2))], 100, replace=FALSE)) # 3eme echantillon
#etc...
# version avec une boucle
sX <- list() # liste des différents echantillons
s <- c() # les echantillons déjà tirés
for (i in 1:10) {
sX[[i]] <- sample(X[!(X %in% s)], 100, replace=FALSE)
s <- c(s, sX[[i]])
}
Code : Tout sélectionner
MyData<- read.table(file=list.files()[1], sep=",", dec=".")
class(MyData)
dataset<-as.matrix(MyData)
x<-dataset
x <- as.matrix(x)
Code : Tout sélectionner
sX <- list() # liste des différents echantillons
s <- c() # les echantillons déjà tirés
for (i in 1:5) {
sX[[i]] <- sample(x[!(x %in% s)], 10, replace=FALSE)
print(sX[[i]])
s <- c(s, sX[[i]])
}
Code : Tout sélectionner
[1] 1001 596 991 998 996 600 1677 1687 201 204
[1] 598 1678 601 608 605 606 1684 1670 608 1680
[1] 203 199 200 200 202 604 203 1674 1008 592
[1] 1002 1685 1692 1683 1002 198 1676 1003 992 196
[1] 191 1689 1006 1007 1688 1688 1699 599 206 609
Code : Tout sélectionner
nobs <- 10^6 # Nombre d'observations dans le jeu de données
ncol <- 3 # Nombre de colonnes
données <- data.frame(matrix(rnorm(ncol*nobs), ncol = ncol)) # Jeu de données bidon
permutation <- sample(1:nobs) # On mélange les données
for(i in seq(from = 1, to = nobs, by = 1000)){
échantillon <- données[permutation[i:(i + 999)], ]
# Faire quelque chose avec l'échantillon, ici afficher les moyennes par colonne
print(colMeans(échantillon))
}
Eric Casellas a écrit :Bonjour,
Tu as la fonction sample qui permet de faire des tirage sans remise.
Par exemple :Code : Tout sélectionner
(X <- 1:1000) # toutes les obs
# version "manuelle"
(s1 <- sample(X, 100, replace=FALSE)) # 1er echantillon
(s2 <- sample(X[!(X %in% s1)], 100, replace=FALSE)) # 2eme echantillon
(s3 <- sample(X[!(X %in% c(s1, s2))], 100, replace=FALSE)) # 3eme echantillon
#etc...
# version avec une boucle
sX <- list() # liste des différents echantillons
s <- c() # les echantillons déjà tirés
for (i in 1:10) {
sX[[i]] <- sample(X[!(X %in% s)], 100, replace=FALSE)
s <- c(s, sX[[i]])
}
Code : Tout sélectionner
# pour les combinaisons :
for (i in 1:6) {
c1 <- combn(18, i)
for (j in 1:ncol(c1)) {
...
}
}
# pour les arrangements (combinaison avec répétition)
for (i in 1:6) {
c1 <- do.call(expand.grid, replicate(i, 1:18, simplify = F))
for (j in 1:nrowl(c1)) {
...
}
}
Retourner vers « Questions en cours »
Utilisateurs parcourant ce forum : July Elsa et 1 invité