Mit der Funktion sample() in R können Sie eine zufällige Stichprobe von Elementen aus einem Datensatz oder einem Vektor mit oder ohne Zurücklegen entnehmen.

Die grundlegende Syntax für die Funktion sample() lautet wie folgt:

sample(x, size, replace = FALSE, prob = NULL)

x: Ein Datensatz oder Vektor, aus dem die Stichprobe ausgewählt werden kann
size: Größe der Probe
replace: Sollte die Probenahme durch Ersetzen erfolgen? (Dies ist standardmäßig FALSE)
prob: ein Vektor von Wahrscheinlichkeitsgewichten zum Erhalten der Elemente des abgetasteten Vektors

Die vollständige Dokumentation zu sample() finden Sie hier.

Die folgenden Beispiele veranschaulichen praktische Beispiele für die Verwendung von sample().

Generieren einer Probe aus einem Vektor

Angenommen, wir haben den Vektor a mit 10 Elementen:

#Vektor a mit 10 Elementen definieren
data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14)

Um eine zufällige Stichprobe von 5 Elementen aus Vektor a ohne Zurücklegen zu erzeugen, können wir die folgende Syntax verwenden:

#Zufällige Stichprobe von 5 Elementen aus Vektor a generieren
sample(a, 5)

#[1] 3 1 4 7 5

Es ist wichtig zu beachten, dass wir jedes Mal, wenn wir eine Zufallsstichprobe generieren, wahrscheinlich jedes Mal einen anderen Satz von Elementen erhalten.

#generieren Sie eine weitere Zufallsstichprobe von 5 Elementen aus Vektor a
sample(a, 5)

#[1] 1 8 7 4 2

Wenn wir unsere Ergebnisse replizieren und jedes Mal mit derselben Stichprobe arbeiten möchten, können wir verwenden set.seed().

#set.seed(Zufallszahl), um sicherzustellen, dass wir jedes Mal die gleiche Stichprobe erhalten
set.seed (122)

#Vektor a mit 10 Elementen definieren
a <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

#Zufällige Stichprobe von 5 Elementen aus Vektor a generieren
sample(a, 5)

#[1] 10 9 2 1 4

#generieren Sie eine weitere Zufallsstichprobe von 5 Elementen aus Vektor a
sample(a, 5)

#[1] 10 9 2 1 4

Wir können auch das Argument replace = TRUE verwenden, damit wir mit Replacement abtasten. Dies bedeutet, dass jedes Element im Vektor so ausgewählt werden kann, dass es mehr als einmal in der Stichprobe enthalten ist.

#Generieren Sie eine Zufallsstichprobe von 5 Elementen aus Vektor a unter Verwendung einer Stichprobe mit Ersetzung
sample(a, 5, replace = TRUE)

# 10 10 2 1 6

Generieren eines Samples aus einem Datensatz

Eine weitere häufige Verwendung der Funktion sample() besteht darin, eine zufällige Stichprobe von Zeilen aus einem Datensatz zu generieren. Für das folgende Beispiel generieren wir eine Zufallsstichprobe von 10 Zeilen aus der integrierten R-Dataset-Iris mit insgesamt 150 Zeilen.

# Die ersten 6 Zeilen des Iris-Datensatzes anzeigen
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, um sicherzustellen, dass dieses Beispiel replizierbar ist
set.seed(100)

#Wählen Sie einen zufälligen Vektor aus 10 Elementen aus allen 150 Zeilen im Iris-Datensatz
sample_rows <- sample(1:nrow(iris), 10)
sample_rows

#[1] 47 39 82 9 69 71 117 53 78 25

#Wählen Sie die 10 Zeilen des Iris-Datasets aus, die den obigen Zeilennummern entsprechen
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

Beachten Sie, dass Sie beim Kopieren und Einfügen des obigen Codes in Ihre eigene R-Konsole genau das gleiche Beispiel erhalten sollten, da wir set.seed(100) verwendet haben, um sicherzustellen, dass wir jedes Mal das gleiche Beispiel erhalten.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: