Hoe u een voorbeeld kunt genereren met de functie voorbeeld in r
Met de functie sample() in R kunt u een willekeurige steekproef van elementen uit een gegevensset of vector nemen, met of zonder vervanging.
De basissyntaxis van de functie sample() is:
voorbeeld (x, grootte, vervangen = FALSE , waarschijnlijk = NULL )
x : een dataset of vector waaruit het monster moet worden gekozen
grootte : steekproefomvang
vervangen : moet er worden bemonsterd met vervanging? (dit is standaard FALSE)
prob : een vector van waarschijnlijkheidsgewichten om de elementen van de bemonsterde vector te verkrijgen
De volledige documentatie voor sample() vindt u hier .
De volgende voorbeelden demonstreren praktische voorbeelden van het gebruik van sample().
Genereer een monster uit een vector
Stel dat we een vector a hebben die 10 elementen bevat:
#define vector a with 10 elements in it
a <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
Om een willekeurige steekproef van 5 elementen van vector a te genereren zonder vervanging, kunnen we de volgende syntaxis gebruiken:
#generate random sample of 5 elements from vector a
sample(a, 5)
#[1] 3 1 4 7 5
Het is belangrijk op te merken dat elke keer dat we een willekeurige steekproef genereren, het waarschijnlijk is dat we elke keer een andere set items zullen krijgen.
#generate another random sample of 5 elements from vector a
sample(a, 5)
#[1] 1 8 7 4 2
Als we onze resultaten willen kunnen repliceren en elke keer met hetzelfde voorbeeld willen werken, kunnen we set.seed() gebruiken.
#set.seed(some random number) to ensure that we get the same sample each time set.seed(122) #define vector a with 10 elements in it a <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) #generate random sample of 5 elements from vector a sample(a, 5) #[1] 10 9 2 1 4 #generate another random sample of 5 elements from vector a sample(a, 5) #[1] 10 9 2 1 4
We kunnen ook het argument Replace = TRUE gebruiken om te samplen met vervanging. Dit betekent dat elk element van de vector kan worden gekozen om meer dan één keer in het monster voor te komen.
#generate random sample of 5 elements from vector a using sampling with replacement
sample(a, 5, replace = TRUE)
#10 10 2 1 6
Genereer een voorbeeld uit een gegevensset
Een ander veelgebruikt gebruik van de functie sample() is het genereren van een willekeurige steekproef van rijen uit een gegevensset. Voor het volgende voorbeeld genereren we een willekeurige steekproef van 10 rijen uit de ingebouwde R-gegevensset iris , die in totaal 150 rijen heeft.
#view first 6 rows of iris dataset head(iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species #1 5.1 3.5 1.4 0.2 setosa #2 4.9 3.0 1.4 0.2 setosa #3 4.7 3.2 1.3 0.2 setosa #4 4.6 3.1 1.5 0.2 setosa #5 5.0 3.6 1.4 0.2 setosa #6 5.4 3.9 1.7 0.4 setosa #set seed to ensure that this example is replicable set.seed(100) #choose a random vector of 10 elements from all 150 rows in iris dataset sample_rows <- sample(1:nrow(iris), 10) sample_rows #[1] 47 39 82 9 69 71 117 53 78 25 #choose the 10 rows of the iris dataset that match the row numbers above sample <- iris[sample_rows, ] sample # Sepal.Length Sepal.Width Petal.Length Petal.Width Species #47 5.1 3.8 1.6 0.2 setosa #39 4.4 3.0 1.3 0.2 setosa #82 5.5 2.4 3.7 1.0 versicolor #9 4.4 2.9 1.4 0.2 setosa #69 6.2 2.2 4.5 1.5 versicolor #71 5.9 3.2 4.8 1.8 versicolor #117 6.5 3.0 5.5 1.8 virginica #53 6.9 3.1 4.9 1.5 versicolor #78 6.7 3.0 5.0 1.7 versicolor #25 4.8 3.4 1.9 0.2 setosa
Houd er rekening mee dat als u de bovenstaande code in uw eigen R-console kopieert en plakt, u exact hetzelfde voorbeeld zou moeten krijgen, aangezien we set.seed(100) hebben gebruikt om ervoor te zorgen dat we elke keer hetzelfde voorbeeld krijgen.