Jak wybrać losowe próbki w r: z przykładami


Aby wybrać losową próbkę w R, możemy użyć funkcji sample() , która wykorzystuje następującą składnię:

próbka(x, rozmiar, zamień=FAŁSZ, prawdopodobieństwo=NULL)

Złoto:

  • x: wektor elementów do wyboru.
  • rozmiar: wielkość próbki.
  • zamień: czy pobierać próbkę z wymianą, czy nie. Wartość domyślna to fałsz.
  • prob: wektor wag prawdopodobieństwa uzyskania elementów z wektora. Wartość domyślna to NULL.

W tym samouczku wyjaśniono, jak używać tej funkcji do wybierania losowej próbki w R zarówno z wektora, jak i ramki danych.

Przykład 1: Losowa próbka z wektora

Poniższy kod pokazuje, jak wybrać losową próbkę z wektora bez zastępowania :

 #create vector of data
data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14)

#select random sample of 5 elements without replacement
sample(x=data, size=5)

[1] 10 12 5 14 7

Poniższy kod pokazuje, jak wybrać losową próbkę z wektora z zamianą :

 #create vector of data
data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14)

#select random sample of 5 elements with replacement
sample(x=data, size=5, replace= TRUE )

[1] 12 1 1 6 14

Przykład 2: Losowa próbka z bloku danych

Poniższy kod pokazuje, jak wybrać losową próbkę z ramki danych:

 #create data frame
df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14),
                 y=c(12, 6, 4, 23, 25, 8, 9),
                 z=c(2, 7, 8, 8, 15, 17, 29))

#view data frame 
df

   X Y Z
1 3 12 2
2 5 6 7
3 6 4 8
4 6 23 8
5 8 25 15
6 12 8 17
7 14 9 29

#select random sample of three rows from data frame
rand_df <- df[ sample ( nrow (df), size= 3 ), ]

#display randomly selected rows
rand_df

   X Y Z
4 6 23 8
7 14 9 29
1 3 12 2

Oto, co dzieje się w tym fragmencie kodu:

1. Aby wybrać podzbiór ramki danych w R, używamy następującej składni: df[wiersze, kolumny]

2. W powyższym kodzie losowo wybieramy próbkę 3 wierszy z ramki danych i wszystkich kolumn.

3. Wynik końcowy to podzbiór ramki danych z 3 losowo wybranymi wierszami.

Należy pamiętać, że za każdym razem, gdy używamy funkcji sample() , R wybierze inną próbkę, ponieważ funkcja wybiera wartości losowo.

Aby odtworzyć wyniki niektórych analiz, należy użyć set.seed(some number) , aby funkcja sample() za każdym razem wybierała tę samą losową próbkę. Na przykład:

 #make this example reproducible
set.seed(23)

#create data frame
df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14),
                 y=c(12, 6, 4, 23, 25, 8, 9),
                 z=c(2, 7, 8, 8, 15, 17, 29))

#select random sample of three rows from data frame
rand_df <- df[ sample ( nrow (df), size= 3 ), ]

#display randomly selected rows
rand_df

   X Y Z
5 8 25 15
2 5 6 7
6 12 8 17

Za każdym razem, gdy uruchomisz powyższy kod, za każdym razem zostaną wybrane te same 3 wiersze ramki danych.

Dodatkowe zasoby

Próbkowanie warstwowe w R (z przykładami)
Systematyczne próbkowanie w R (z przykładami)
Próbkowanie klastrów w R: z przykładami

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *