Sissejuhatus juhuslike arvude generaatorisse R

Juhuslike arvude generaator R-s on oluline andmeteaduse aspekt ja statistika genereerib juhuslikke numbreid või genereerib juhuslikke elemente. Näiteks valitakse rahvastiku andmeraamistikust juhuslikud inimesed, et andmeid analüüsida ja nende kohta teavet saada. Juhuslike arvude genereerimiseks on lihtne lahendus funktsioonide kasutamine. Juhuslikud numbrid on kasulikud erinevates valdkondades, näiteks modelleerimine, andmeteadus ja valimid (statistika). Võrgu laienemisega näib olevat vajalik juhuslike arvude generaatoris uurimistöö arendamine. Juhuslikud numbrid mängivad turvasüsteemides võtmerolli ja pakuvad meile keeruka süsteemi võrgu turvalisuse tugevdamiseks.

Siin on üks näide allpool 50 väärtuse genereerimiseks ja printimiseks vahemikus 1 kuni 99, kasutades funktsiooni runif ().

Kood

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

Väljund:

Juhuslike arvude generaator aitab genereerida numbrijada, mille saab salvestada funktsioonina, mida hiljem operatsioonides kasutada. Juhuslike arvude generaator ei anna tegelikult juhuslikke väärtusi, kuna selleks on vaja algväärtust nimega SEED. Juhuslike arvude genereerimist saab juhtida funktsioonidega SET.SEED (). Käsk SET.SEED () kasutab täisarvu, et käivitada juhuslik arv põlvkondi. Lisaks saab loodud juhuslike arvude jada salvestada ja hiljem kasutada.

Näiteks kasutame koodi 10 numbri valimiseks vahemikus 1 kuni 100 ja korrame seda paar korda.

Esmakordselt algab SET.SEED () seemnest 5 ja teisel korral seemnest kui 12. Iga iteratsiooni jaoks on genereeritud kümme juhuslikku arvu.

Kood

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

Väljund:

Kood:

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

Väljund:

Juhuslike arvude generaatori funktsioonid

R-s on sisseehitatud funktsioonid, et genereerida standardjaotustest juhuslike arvude komplekt nagu tavaline, ühtlane, binoomjaotused jne. Järgmises osas näeme erinevaid funktsioone nagu runif (), rnorm (), rbinom () ja juhuslike arvude genereerimiseks rexp ().

1. Ühtlaselt jaotunud juhuslikud numbrid

Ühtlaselt jaotunud juhusliku arvu genereerimiseks kasutatakse runif (). Vaikevahemik 0 - 1. Esiteks peame täpsustama genereerimiseks vajaliku numbri. Lisaks saab jaotuse ulatust täpsustada, kasutades argumente max ja min.

Kood

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

Väljund:

Kood

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

Väljund:

Kood

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

Väljund:

Kood

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

Väljund:

2. Tavaliselt jaotatavad juhuslikud numbrid

Numbrite genereerimiseks normaaljaotusest kasutatakse rnormi (). Kus keskmine on 0 ja standardhälve on 1. Esiteks peame täpsustama genereerimiseks vajaliku arvu. Lisaks saab täpsustada argumente keskväärtuse ja SD (standardhälbe) kohta.

Kood

rnorm(5)

Väljund:

Kood

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

Väljund:

Kood

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

Väljund:

Rnormi () kasutamine normaaljaotusega juhusliku arvu genereerimiseks

3. Binomaalsed juhuslikud numbrid

Binoomilised juhuslikud numbrid on juhuslike arvude diskreetne komplekt. Binoomiarvu saamiseks arvutatakse n väärtus soovitud arvu katseteks. Näiteks uuring 5, kus n = 5

Kood:

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äljund:

4. Eksponentsiaalselt jaotatud juhuslikud numbrid

Eksponentsiaalset jaotust kasutatakse elektrikomponentide eluea kirjeldamiseks. Näiteks on elektrilampide keskmine eluiga 1500 tundi.

Kood:

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

Väljund:

Täisarvu ja ujukoma numbri genereerimine

Nüüd õpime juhuslike arvude genereerimise kohta kahte tüüpi numbrite jaoks, mis on saadaval R-ga. Need on täisarv ja ujukoma- või ujukomaarv. R tuvastab need kaks kategooriat automaatselt ja liigub vajaduse korral neist üle. R täisarv koosneb täisarvust, mis võib olla positiivne või negatiivne, samas kui ujukomaga arv hõlmab reaalarvu. See koosneb väärtusest, mis täpsustab kümnendkoha täpsusega kõige kaugema numbri. Väärtus on kahendkoodis ja indikaator on saadaval binaarsete kohtade arvu kohta, kuhu liikuda. Juhuslike täisarvude genereerimiseks on sisseehitatud valim () funktsioon usaldusväärne ja kiire. Ettevõtte vajadused nõuavad andmete valimi analüüsimist. Proovi valimiseks on R-l funktsioon (). Juhuslike täisarvude genereerimiseks vahemikus 5 kuni 20 kasutatakse näidisfunktsiooni koodi.

Kood

rn = sample(5:20, 5)
rn

Väljund:

Juhusliku valimi moodustamine 5-st

Ülaltoodud näites on argumendina esitatud viis väärtust. Oleme näinud, kuidas saab juhuslike väärtuste alamhulka valida R-s. Reaalajas tuleb teil luua olemasolevast andmeraamistikust juhuslik valim. Andmete valimine suurest andmekogumist vaatluste jaoks on üks töökohti, mida andmeinsenerid oma igapäevases elus täidavad.

Kood

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äljund:

Juhusliku valimi genereerimine andmekaadrite nimedest kujul Height_Weight_Data

Vähesed asjad, mida meeles pidada ujukomaga numbrite osas.

  • Need on oma olemuselt binaarsed.
  • Esindatud reaalarvudes piiratud.

Vaatame nüüd, kuidas saab juhusliku ujuva arvu genereerida vahemikus -10 kuni 10

Kood

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

Väljund:

Juhuslike ujukomaarvude genereerimine

Runif () tähistab juhuslikku vormiriietust. Ülaltoodud näites tuletasime 10 juhuslikult jaotatud arvu (-10: 10) vahel

Järeldus

Selles artiklis oleme arutanud juhuslike arvude generaatorit R-s ja näinud, kuidas funktsiooni SET.SEED kasutatakse juhuslike arvude genereerimise juhtimiseks. Oleme näinud, kuidas SEEDi saab kasutada reprodutseeritavate juhuslike arvude jaoks, mis suudavad genereerida juhuslike arvude jada ja seadistada juhuslike arvude seemnegeneraatori seadmega SET.SEED (). Aeg-ajalt kasutatakse analüüsi ajal statistilist meetodit, mis nõuab juhuslike arvude genereerimist. R on varustatud mitmete funktsioonidega, näiteks ühetaoline, normaalne, binomiaal-, Poissoni-, eksponentsiaal- ja gammafunktsioon, mis võimaldab simuleerida kõige tavalisemat tõenäosusjaotust.

Soovitatavad artiklid

See on olnud juhuslik juhuslike arvude generaator R-is. Siin käsitleme juhuslike arvude generaatori sissejuhatust ja funktsioone R koos vastava näitega. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Lineaarne regressioon R-s
  2. Binoomjaotus R-s
  3. Logistiline regressioon R-s
  4. Joongraafik R-s
  5. Juhend juhuslike arvude generaatorile Pythonis
  6. Juhuslike arvude generaator C-numbris
  7. Juhuslike arvude generaator PHP-s

Kategooria: