Funkcja Sample() w R

Funkcja Sample W R



W R pobieramy losowo przykładowe wartości z wektora lub listy za pomocą funkcji sample(). Umożliwia losowe wybranie podzbioru danych, co jest przydatne w wielu zastosowaniach statystycznych. Jeśli wejście jest listą w funkcji sample(), wyjściem będzie również lista z taką samą liczbą elementów, ale z wybranymi elementami. W tym artykule zademonstrowano funkcję sample() języka R wraz z implementacją, która ustawia różne argumenty.

Przykład 1: Użycie funkcji Sample() z argumentem Data

Funkcja sample() R musi zawierać przykładowe dane, aby losowo wygenerować liczbę. Przykładowe dane są wymaganym argumentem funkcji sample(), której kod jest podany poniżej:

daneX < - C ( 10 , 20 , 30 , 40 , pięćdziesiąt , 60 , 70 , 80 , 90 , 100 )

próbka ( daneX , 3 )

próbka ( daneX , 3 )

Tutaj najpierw generujemy wektory elementów całkowitych w zmiennej „dataX”. Następnie dwukrotnie wywołujemy w kodzie funkcję sample() i przekazujemy jej jako argument wygenerowany wcześniej wektor „dataX”. Pierwsze użycie próbki (dataX, 3) pobiera losową próbkę trzech elementów z wektora „dataX”. Wyniki są losową permutacją trzech elementów z „dataX”. Następnie ponownie używamy próbki (a, 5), która pobiera kolejną niezależną losową próbkę trzech elementów z wektora „dataX”. Tym razem wynik jest zupełnie inny niż poprzedni.







Dane wyjściowe pokazują różne elementy po dwukrotnym wywołaniu funkcji sample(). Zauważ, że za każdym razem, gdy losowo tworzymy próbkę, uzyskujemy różne elementy z wektorów:





Przykład 2: Użycie funkcji Sample() z argumentem Replace

Ponadto mamy argument „replace” funkcji sample(), który przyjmuje wartości logiczne. Podobny element można wybrać więcej niż jeden raz, jeśli element jest próbkowany z opcją zamiany TRUE. Jeśli jednak wartość jest ustawiona na FAŁSZ, może istnieć tylko jeden wybór każdego elementu, co powoduje próbkowanie elementów bez zamiany.





losowe liczby = C ( jedenaście , 25 , 12 , 89 , Cztery pięć , 16 , 67 , 38 , 96 , 55 , 73 )

próbka ( losowe liczby , 4 , zastępować = PRAWDA )

próbka ( losowe liczby , 5 , zastępować = PRAWDA )

Tutaj najpierw definiujemy wektor z pewnymi wartościami liczbowymi w zmiennej „random_numbers”. Następnie wywołujemy funkcję sample(), w której „losowe_liczby” są przekazywane jako argument. Wartość „4” jest podawana funkcji sample(), co wskazuje, że wybiera ona tylko cztery losowe wartości z wektorów w „random_numbers”.

Następnie polecenie replace=TRUE w funkcji sample() określa, że ​​każdą wartość można wybrać więcej niż jeden raz. Następnie ponownie wdrażamy funkcję sample(), która tym razem wybiera losowe wartości „5” z wektorów. Podobnie ustawiamy argument zamiany na „PRAWDA”, jak poprzednio dla opcji wielokrotnego wyboru dla każdej wartości.



Jak widzimy, pierwsze wyjście wyświetla wektor 4 losowo wybranych elementów z wektora „losowe_liczby”. Następne wyjście wyświetla jednak wektor „5” losowo wybranych elementów:

Przykład 3: Użycie funkcji Sample() z argumentem rozmiaru

Kolejnym argumentem przekazywanym przez funkcję sample() jest „rozmiar”. „Rozmiar” jest opcjonalnym parametrem wskazującym wartość próbek do pobrania. Kod funkcji sample() z parametrem „size” jest podany poniżej:

wektory < - 1 : 10

próbka ( wektory , rozmiar = 5 )

Tutaj wektor numeryczny jest zdefiniowany jako sekwencja liczb całkowitych od 1 do 10 w zmiennej „wektory”. Funkcja sample() jest następnie wykorzystywana do losowego wybierania elementów z wektora. Jak widać, funkcja sample() przyjmuje dwa argumenty. Pierwszym argumentem są wektory, z których pobieramy próbkę. Kolejnym argumentem jest rozmiar, który jest określony wartością „5”, co oznacza, że ​​z wektora można wybrać tylko pięć elementów.

Dlatego wybrane elementy są zwracane w losowej kolejności jako nowy wektor w następującym wyjściu:

Przykład 4: Użycie funkcji Sample() dla listy R

Co więcej, funkcja sample() może być użyta do listy w R. Ta część przykładu pobiera losowe wartości z listy.

R_lista < - lista ( 1 : 4 ,

913 ,

C ( 'X' , „YYY” , 'DOBRY' ) ,

'ZZZ' ,

5 )

wynik < - R_lista [ próbka ( 1 :długość ( R_lista ) , rozmiar = 4 ) ]

wynik

Tutaj lista „R_list” jest zdefiniowana z elementami różnych typów, w tym wektorem liczb, pojedynczą liczbą, wektorem znaków, łańcuchem i inną liczbą. Następnie tworzymy zmienną „result”, w której wywoływana jest funkcja sample().

Wewnątrz funkcji sample() ustawiamy wyrażenie „1:length(R_list)”, które wskazuje wektory indeksów do próbkowania. Następnie mamy argument „rozmiar”, który określa liczbę elementów do próbkowania, czyli „4”. Dlatego „R_list” generuje trzy losowo wybrane elementy z listy „R_list”. Ponieważ elementy na liście „R_list” są różnych typów, elementy wynikowe w „rezultacie” również mogą być różnych typów.

Dane wyjściowe reprezentują nową listę, która zawiera losowy podzbiór oryginalnej listy:

Przykład 5: Użycie funkcji Sample() z argumentem Prob

Dodatkowo mamy parametr „prob” funkcji sample(). Argument „prob” podaje prawdopodobieństwo wystąpienia wybranego elementu w wektorze. Zauważ, że zakłada się, że wszystkie elementy mają równe prawdopodobieństwo, gdy nie jest używany argument „prob”.

moje dane = C ( 31 , 99 , 5 , 24 , 72 )

próbka ( moje dane , rozmiar = 10 , zastępować = PRAWDA ,

prob = C ( 0,5 , reprezentant ( 0,1 , 4 ) ) )

Tutaj elementy wektorów liczbowych są odnoszone do „my_data”. W kolejnym kroku wywołujemy funkcję sample() gdzie „my_data” jest przekazywane do losowo wybranych z niej 10 elementów. Następnie definiowany jest argument „rozmiar”, który określa, że ​​wartość do losowego wyboru powinna mieć rozmiar „10”. Następnie przypisujemy „TRUE” argumentowi „replace”, co oznacza, że ​​każdy wybrany element jest zastępowany wektorem przed wybraniem następnego. Trzecim argumentem zdefiniowanym w funkcji sample() jest „prob”, który określa prawdopodobieństwo wybrania każdego elementu w wektorze „my_data”. Prawdopodobieństwo pierwszego elementu jest ustawione na „0,5”. Dla pozostałych czterech elementów wektorowych prawdopodobieństwo wynosi „0,1”.

Następujące dane wyjściowe są pobierane z najwyższym prawdopodobieństwem pierwszego elementu w wektorach zgodnie z oczekiwaniami:

Przykład 6: Używanie funkcji Sample() do renderowania wykresu słupkowego

Na koniec funkcja sample() służy do konstruowania wykresu słupkowego w R w celu wizualizacji rozkładu zmiennej kategorialnej o zadanym rozkładzie prawdopodobieństwa.

przykładowe dane = C ( 1 , 2 , 3 )

wykres słupkowy ( tabela ( próbka ( przykładowe dane , rozmiar = 500 , zastępować = PRAWDA , prob = C ( 0,30 , 0,60 , .10 ) ) ) )

Tutaj, po zdefiniowaniu „sample_data” z wektorem o wartości całkowitej, generujemy wykres słupkowy, wdrażając funkcję sample(). Najpierw wywołujemy wykres słupkowy, który wywołuje funkcję table() w celu utworzenia tabeli częstości wynikowej próbki. Następnie określamy funkcję sample() w funkcji table(), w której losowana próbka o rozmiarze 1000 jest losowana z wektora liczb całkowitych od 1 do 3. Następnie argument „prob” jest używany do określenia prawdopodobieństwa wybrania każdej liczby całkowitej .

Jak widzimy teraz, wykres słupkowy jest renderowany w następujący sposób z trzema słupkami, po jednym dla każdej liczby całkowitej, a wysokość słupków odpowiada liczbie całkowitej występującej w próbce:

Wniosek

Widzieliśmy, jak działa funkcja sample() na różnych przykładach. Funkcja sample() jest używana z różnymi argumentami, gdy wymagane są przykładowe dane, a wszystkie pozostałe argumenty są opcjonalne i są wywoływane w określonych przypadkach. Jednak funkcja sample() jest przydatna w analizie statystycznej lub podczas pracy z dużymi zbiorami danych.