Úvod do generátora náhodných čísel v R

Generátor náhodných čísel v R je dôležitým aspektom vedy o údajoch a štatistika generuje náhodné čísla alebo generuje náhodné prvky. Napríklad výber náhodných ľudí z dátového rámca populácie na analýzu a získanie prehľadov o údajoch. Jednoduché generovanie náhodných čísel je pomocou funkcií. Náhodné čísla sú užitočné v rôznych oblastiach, ako je modelovanie, veda o údajoch a výber vzoriek (štatistika). S rozšírením siete sa zdá byť potrebný vývoj výskumu v generátore náhodných čísel. Náhodné čísla hrajú kľúčovú úlohu v bezpečnostných systémoch a poskytujú nám sofistikovaný systém na sprísnenie bezpečnosti siete.

Tu je jeden príklad uvedený nižšie na generovanie a tlač 50 hodnôt medzi 1 a 99 pomocou funkcie runif ().

kód

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

Výkon:

Generátor náhodných čísel pomáha generovať postupnosť číslic, ktoré je možné uložiť ako funkciu, ktorá sa použije neskôr v operáciách. Generátor náhodných čísel v skutočnosti nevytvára náhodné hodnoty, pretože vyžaduje počiatočnú hodnotu s názvom SEED. Generovanie náhodných čísel je možné ovládať pomocou funkcií SET.SEED (). Príkaz SET.SEED () používa celé číslo na spustenie náhodného počtu generácií. Ďalej je možné vygenerovanú sekvenciu náhodných čísel uložiť a použiť neskôr.

Napríklad kód použijeme na vzorkovanie 10 čísel od 1 do 100 a ich opakovanie niekoľkokrát.

Prvýkrát sa SET.SEED () začne v semene ako 5 a druhýkrát ako semeno ako 12. Pre každú iteráciu bolo vygenerovaných desať náhodných čísel.

kód

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

Výkon:

kód:

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

Výkon:

Funkcie generátora náhodných čísel

V R sú zabudované funkcie na generovanie množiny náhodných čísel zo štandardných distribúcií, ako sú normálne, jednotné, binomické distribúcie atď. V ďalšej časti uvidíme rôzne funkcie ako runif (), rnorm (), rbinom () a rexp () na generovanie náhodných čísel.

1. Rovnomerne distribuované náhodné čísla

Na vytvorenie rovnomerne rozloženého náhodného čísla sa používa runif (). Predvolený rozsah 0 - 1. Najprv bude potrebné zadať číslo, ktoré sa má vygenerovať. Okrem toho je možné rozsah distribúcie špecifikovať pomocou argumentu max a min.

kód

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

Výkon:

kód

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

Výkon:

kód

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

Výkon:

kód

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

Výkon:

2. Normálne distribuované náhodné čísla

Na generovanie čísel z normálneho rozdelenia sa používa rnorm (). Ak je stredná hodnota 0 a smerodajná odchýlka je 1. Najprv bude potrebné uviesť číslo, ktoré sa má vygenerovať. Okrem toho možno zadať argumenty priemer a SD (štandardná odchýlka).

kód

rnorm(5)

Výkon:

kód

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

Výkon:

kód

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

Výkon:

Použitie rnorm () na generovanie normálneho distribuovaného náhodného čísla

3. Binomické náhodné čísla

Binomické náhodné čísla sú diskrétna množina náhodných čísel. Na odvodenie binomického čísla sa hodnota n zmení na požadovaný počet pokusov. Napríklad pokus 5, kde n = 5

kód:

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

Výkon:

4. Exponenciálne distribuované náhodné čísla

Exponenciálne rozdelenie sa používa na opis životnosti elektrických komponentov. Napríklad priemerná životnosť elektrickej žiarovky je 1500 hodín.

kód:

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

Výkon:

Generuje sa celé číslo a číslo plávajúceho bodu

Teraz sa dozvieme o generovaní náhodných čísel pre dva typy čísel dostupných v R. Sú to celé a pohyblivé body alebo čísla s pohyblivou rádovou čiarkou. R automaticky zistí tieto dve kategórie a podľa potreby sa pohne nimi. Celé číslo v R sa skladá z celého čísla, ktoré môže byť kladné alebo záporné, zatiaľ čo číslo s pohyblivou rádovou čiarkou obsahuje reálne čísla. Pozostáva z hodnoty, ktorá udáva najbližšiu číslicu od desatinnej čiarky. Táto hodnota je v binárnom formáte a je k dispozícii údaj o počte binárnych miest, ktoré sa majú presunúť. Na generovanie náhodných celých čísel je vstavaná funkcia sample () spoľahlivá a rýchla. Obchodné potreby vyžadujú, aby ste analyzovali vzorku údajov. Na výber vzorky má vzorka () funkciu. Na generovanie náhodných celých čísel od 5 do 20 sa používa vzorový funkčný kód.

kód

rn = sample(5:20, 5)
rn

Výkon:

Generuje sa náhodná vzorka 5

Ako sa uvádza v argumente, v uvedenom príklade sa vygenerovalo päť hodnôt. Videli sme, ako je možné v R. zvoliť podskupinu náhodných hodnôt. V reálnom čase budete musieť vygenerovať náhodnú vzorku z existujúceho dátového rámca. Výber vzorky údajov na pozorovanie z veľkého súboru údajov je jedným z úloh, ktoré technici pracujú v každodennom živote.

kód

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

Výkon:

Generuje sa náhodná vzorka z názvov dátových rámcov ako Height_Weight_Data

Pokiaľ ide o čísla s pohyblivou rádovou čiarkou, treba pamätať na pár vecí.

  • Sú binárnej povahy.
  • Obmedzené v skutočných zastúpených číslach.

Teraz sa pozrime, ako je možné vygenerovať náhodné plávajúce číslo medzi -10 a 10

kód

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

Výkon:

Generovanie náhodných čísel float point

Runif () označuje náhodnú uniformu. Vo vyššie uvedenom príklade sme odvodili 10 náhodne rozdelených čísel medzi (-10: 10)

záver

V tomto článku sme diskutovali o generátore náhodných čísel v R a videli sme, ako sa funkcia SET.SEED používa na riadenie generovania náhodných čísel. Videli sme, ako sa SEED dá použiť na reprodukovateľné náhodné čísla, ktoré dokážu vygenerovať sekvenciu náhodných čísel a nastaviť generátor semien náhodných čísel pomocou SET.SEED (). Štatistická metóda, ktorá vyžaduje generovanie náhodných čísel, sa občas používa počas analýzy. R je vybavený viacerými funkciami, ako sú uniformná, normálna, binomická, Poissonova, exponenciálna a gama funkcia, ktorá umožňuje simulovať najbežnejšie rozdelenie pravdepodobnosti.

Odporúčané články

Toto bol sprievodca generátorom náhodných čísel v R. Tu diskutujeme o zavedení a funkciách generátora náhodných čísel v R spolu s príslušným príkladom. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Lineárna regresia v R
  2. Binomické rozdelenie v R.
  3. Logistická regresia v R
  4. Čiarový graf v R.
  5. Sprievodca generátorom náhodných čísel v Pythone
  6. Generátor náhodných čísel v C #
  7. Generátor náhodných čísel v PHP

Kategórie: