Wprowadzenie do generatora liczb losowych w języku R

Generator liczb losowych w R jest ważnym aspektem nauki o danych, a statystyki generują liczby losowe lub generują elementy losowe. Na przykład wybieranie losowych osób z ramki danych populacji w celu analizy i uzyskania wglądu w dane. Prostym rozwiązaniem do generowania liczb losowych jest użycie funkcji. Liczby losowe są przydatne w różnych obszarach, takich jak modelowanie, analiza danych i próbkowanie (statystyki). Wraz z rozbudową sieci konieczne wydaje się opracowanie badań generatora liczb losowych. Liczby losowe odgrywają kluczową rolę w systemach bezpieczeństwa i zapewniają nam wyrafinowany system zwiększania bezpieczeństwa sieci.

Oto jeden przykład poniżej, aby wygenerować i wydrukować 50 wartości od 1 do 99 za pomocą funkcji runif ().

Kod

RandomNum <- runif(50, 1, 99)
RandomNum

Wynik:

Generator liczb losowych pomaga wygenerować sekwencję cyfr, które można zapisać jako funkcję do późniejszego wykorzystania w operacjach. Generator liczb losowych nie generuje losowych wartości, ponieważ wymaga wartości początkowej zwanej SEED. Generacją liczb losowych można sterować za pomocą funkcji SET.SEED (). Komenda SET.SEED () używa liczby całkowitej do uruchomienia losowej liczby pokoleń. Ponadto wygenerowaną sekwencję liczb losowych można zapisać i wykorzystać później.

Na przykład użyjemy tego kodu, aby pobrać próbki 10 liczb od 1 do 100 i powtórzyć go kilka razy.

Po raz pierwszy SET.SEED () rozpocznie się od nasion jako 5, a drugi raz jako ziarno jako 12. Dla każdej iteracji wygenerowano dziesięć liczb losowych.

Kod

set.seed(5) # random number will generate from 5
TenRandomNumbers <- sort(sample.int(100, 10))
TenRandomNumbers

Wynik:

Kod:

set.seed(12) # random number will generate from 12
TenRandomNumbers <- sort(sample.int(100, 10))
TenRandomNumbers

Wynik:

Funkcje generatora liczb losowych

W R są wbudowane funkcje do generowania zestawu liczb losowych ze standardowych rozkładów, takich jak rozkłady normalne, jednolite, dwumianowe itp. W następnej sekcji zobaczymy różne funkcje, takie jak runif (), rnorm (), rbinom () i rexp () w celu wygenerowania liczb losowych.

1. Jednolicie rozmieszczone liczby losowe

Aby wygenerować równomiernie rozłożoną liczbę losową, używana jest funkcja runif (). Domyślny zakres 0 - 1. Najpierw będziemy musieli określić liczbę wymaganą do wygenerowania. Ponadto zakres rozkładu można określić za pomocą argumentu max i min.

Kod

# To get 5 uniformly distributed Random Numbers
runif(5)

Wynik:

Kod

# Get 5 random Numbers from 5 to 99
runif(5, min=5, max=99)

Wynik:

Kod

#To generate 5 integers from 0 to 100
floor(runif(5, min=0, max=101))

Wynik:

Kod

# Generating integers without replacement
sample(1:100, 5, replace=FALSE)

Wynik:

2. Normalnie rozmieszczone liczby losowe

Do generowania liczb z rozkładu normalnego służy rnorm (). Gdy średnia wynosi 0, a standardowe odchylenie wynosi 1. Po pierwsze, będziemy musieli określić liczbę wymaganą do wygenerowania. Ponadto można podać średnią i odchylenie standardowe (odchylenie standardowe).

Kod

rnorm(5)

Wynik:

Kod

# using a different mean and standard deviation
rnorm(4, mean=70, sd=10)

Wynik:

Kod

# histogram of the numbers to verify the distribution
X <- rnorm(400, mean=70, sd=10)
hist(X)

Wynik:

Użycie rnorm () do wygenerowania normalnej rozproszonej liczby losowej

3. Dwumianowe liczby losowe

Dwumianowe liczby losowe są dyskretnym zestawem liczb losowych. Aby uzyskać liczbę dwumianową wartość n zmienia się na pożądaną liczbę prób. Na przykład próba 5, gdzie n = 5

Kod:

n= 5
p=.5
rbinom(1, n, p)
# 1 success in 5 trails
n= 5
p=.5
rbinom(19, n, p) # 10 binomial numbers

Wynik:

4. Wykluczone losowo liczby losowe

Rozkład wykładniczy służy do opisu żywotności komponentów elektrycznych. Na przykład średni czas życia lampy elektrycznej wynosi 1500 godzin.

Kod:

x=rexp(100, 1/1500)
hist(x, probability=TRUE, col= gray(.9), main="exponential mean=1500")
curve(dexp(x, 1/1500), add= T)

Wynik:

Generowanie liczb całkowitych i zmiennoprzecinkowych

Teraz dowiemy się o generowaniu liczb losowych dla dwóch typów liczb dostępnych w R. Są to liczby całkowite i zmiennoprzecinkowe lub liczby zmiennoprzecinkowe. R automatycznie wykryje dwie kategorie i przesunie się między nimi, gdy zajdzie taka potrzeba. Liczba całkowita w R składa się z liczby całkowitej, która może być dodatnia lub ujemna, podczas gdy liczba zmiennoprzecinkowa obejmuje liczby rzeczywiste. Składa się z wartości, która określa dalszą cyfrę od miejsca po przecinku. Wartość jest podana w postaci binarnej, a wskazanie jest dostępne na podstawie liczby miejsc binarnych do przejścia. Aby wygenerować losowe liczby całkowite, wbudowana funkcja sample () jest niezawodna i szybka. Potrzeby biznesowe wymagają analizy próbki danych. Aby wybrać próbkę R ma funkcję sample (). W celu wygenerowania losowych liczb całkowitych od 5 do 20 poniżej stosuje się przykładowy kod funkcji.

Kod

rn = sample(5:20, 5)
rn

Wynik:

Generowanie losowej próby 5

W powyższym przykładzie wygenerowano pięć wartości zgodnie z podanym argumentem. Widzieliśmy, jak można wybrać podzbiór losowych wartości w R. W sytuacji rzeczywistej będziesz musiał wygenerować losową próbkę z istniejącej ramki danych. Wybór próbki danych do obserwacji z dużego zestawu danych jest jednym z zadań, które inżynierowie danych podejmują w ich codziennym życiu.

Kod

Height_Weight_Data <- read.csv("test.csv") # to test this please download csv file
Height_Weight_Data
# Height_Weight_Data sample data frame; selecting a random subset in r
Sample <- Height_Weight_Data(sample(nrow(Height_Weight_Data), 5), ) # pick 5 random rows from dataset
Sample

Wynik:

Generowanie losowej próbki z nazw ramek danych jako Height_Weight_Data

Kilka rzeczy do zapamiętania na temat liczb zmiennoprzecinkowych.

  • Mają charakter binarny.
  • Ograniczona w reprezentowanych liczbach rzeczywistych.

Zobaczmy teraz, jak losowa liczba zmiennoprzecinkowa może być generowana od -10 do 10

Kod

Random <- runif(n=10, min=-10, max=10)
Random

Wynik:

Generowanie losowych liczb zmiennoprzecinkowych

Runif () odnosi się do losowego munduru. W powyższym przykładzie wyprowadziliśmy 10 losowych liczb rozproszonych między (-10: 10)

Wniosek

W tym artykule omówiliśmy generator liczb losowych w R i widzieliśmy, jak funkcja SET.SEED służy do sterowania generowaniem liczb losowych. Widzieliśmy, jak można użyć SEED do powtarzalnych liczb losowych, które są w stanie wygenerować sekwencję liczb losowych i skonfigurować generator nasion losowych liczb za pomocą SET.SEED (). Metoda statystyczna, która wymaga generowania liczb losowych, jest czasami używana podczas analizy. R jest wyposażony w wiele funkcji, takich jak: jednolita, normalna, dwumianowa, Poissona, wykładnicza i gamma, które pozwalają symulować najbardziej powszechny rozkład prawdopodobieństwa.

Polecane artykuły

Jest to przewodnik po Generatorze liczb losowych w R. Tutaj omawiamy wprowadzenie i funkcje Generatora liczb losowych w R wraz z odpowiednim przykładem. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Regresja liniowa w R.
  2. Rozkład dwumianowy w R.
  3. Regresja logistyczna w R.
  4. Wykres liniowy w R.
  5. Przewodnik po generatorze liczb losowych w Pythonie
  6. Generator liczb losowych w C #
  7. Generator liczb losowych w PHP

Kategoria: