Johdanto satunnaislukugeneraattoriin R: ssä

Satunnaislukugeneraattori R: ssä on tärkeä osa tietotekniikkaa ja tilastot generoivat satunnaislukuja tai generoivat satunnaisia ​​elementtejä. Esimerkiksi satunnaisten ihmisten valitseminen väestötietokehyksestä tietojen analysoimiseksi ja näkemysten saamiseksi tiedoista. Yksinkertainen ratkaisu satunnaislukujen luomiseen on funktioiden käyttö. Satunnaisluvut ovat hyödyllisiä eri alueilla, kuten mallinnus, tietotiede ja näytteenotto (tilastot). Verkoston laajentuessa tutkimuksen kehittäminen satunnaislukugeneraattorissa näyttää välttämättömältä. Satunnaislukuilla on avainrooli turvajärjestelmissä, ja ne tarjoavat meille hienostuneen järjestelmän verkon turvallisuuden tiukentamiseksi.

Tässä on yksi esimerkki alla olevien 50 arvojen generoimiseksi ja tulostamiseksi välillä 1 - 99 käyttämällä runif () -toimintoa.

Koodi

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

lähtö:

Satunnaislukugeneraattori auttaa generoimaan numerosarjan, joka voidaan tallentaa funktiona myöhemmin käytettäväksi operaatioissa. Satunnaislukugeneraattori ei oikeastaan ​​tuota satunnaisarvoja, koska se vaatii alkuarvon nimeltä SEED. Satunnaislukumäärää voidaan hallita SET.SEED () -toiminnoilla. SET.SEED () -komento käyttää kokonaislukua aloittaaksesi satunnaisen sukupolvien määrän. Lisäksi luotu satunnaislukujakso voidaan tallentaa ja käyttää myöhemmin.

Esimerkiksi, käytämme koodia näytteen ottamiseen 10 numerosta välillä 1 - 100 ja toistamme sen pari kertaa.

SET.SEED () alkaa ensimmäistä kertaa siemenestä 5 ja toinen kerran siemenestä 12. 12. Jokaista toistoa varten on generoitu kymmenen satunnaislukua.

Koodi

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

lähtö:

Koodi:

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

lähtö:

Satunnaislukugeneraattorin toiminnot

R: ssä on sisäänrakennettuja toimintoja generoimaan joukko satunnaislukuja vakiojakaumista, kuten normaali, yhtenäinen, binomijakauma jne. Seuraavassa osiossa nähdään erilaisia ​​toimintoja, kuten runif (), rnorm (), rbinom () ja rexp () satunnaislukujen luomiseksi.

1. Tasaisesti jakautuneet satunnaislukut

Tasaisesti jakautuneen satunnaislukun generoimiseksi käytetään runif (). Oletusalue 0 - 1. Ensinnäkin meidän on määritettävä luotava numero. Lisäksi jakelualue voidaan määrittää käyttämällä max- ja min-argumentteja.

Koodi

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

lähtö:

Koodi

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

lähtö:

Koodi

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

lähtö:

Koodi

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

lähtö:

2. Normaalisti hajautetut satunnaislukut

Numeroiden generoimiseksi normaalijakaumasta käytetään rnormaa (). Missä keskiarvo on 0 ja keskihajonta on 1. Ensin vaaditaan määrittelemään vaadittava luku. Lisäksi keskiarvo ja SD (keskihajonta) voidaan määritellä argumentteina.

Koodi

rnorm(5)

lähtö:

Koodi

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

lähtö:

Koodi

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

lähtö:

Rnormin () avulla generoidaan normaali hajautettu satunnaisluku

3. Binomiaaliset satunnaislukut

Binomiaaliset satunnaislukut ovat diskreetti joukko satunnaislukuja. Binomilukuarvon saamiseksi n: n arvo muutetaan halutuksi kokeiden lukumääräksi. Esimerkiksi tutkimus 5, jossa n = 5

Koodi:

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

lähtö:

4. Eksponenttisesti jakautuneet satunnaislukut

Eksponentiaalijakaumaa käytetään kuvaamaan sähkökomponenttien käyttöikää. Esimerkiksi sähkölampun keskimääräinen käyttöikä on 1500 tuntia.

Koodi:

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

lähtö:

Luodaan kokonaisluku ja kelluvuuspiste

Nyt opimme luomaan satunnaislukuja kahdelle numerotyypille, jotka ovat käytettävissä R: ssä. Ne ovat kokonaislukua ja liukuluku- tai liukulukujen numeroita. R havaitsee nämä kaksi luokkaa automaattisesti ja liikkuu niiden yli tarpeen mukaan. R: n kokonaisluku koostuu kokonaisluvusta, joka voi olla positiivinen tai negatiivinen, kun taas liukulukujen luku sisältää reaalilukuja. Se koostuu arvosta, joka määrittää etäisyyden desimaalin tarkkuudella. Arvo on binaarinen ja indikaattori on käytettävissä binaaristen paikkojen lukumäärässä. Satunnaisten kokonaislukujen tuottamiseksi sisäänrakennettu näyte () -toiminto on luotettava ja nopea. Yritystarpeet edellyttävät sinun analysoivan näyte dataa. Näytteen valitsemiseksi R: llä on näyte () -toiminto. Satunnaisten kokonaislukujen muodostamiseksi välillä 5 - 20 käytetään näytteen funktiokoodia.

Koodi

rn = sample(5:20, 5)
rn

lähtö:

Luodaan satunnainen otos 5: stä

Yllä olevassa esimerkissä on muodostettu viisi arvoa väitteenä. Olemme nähneet, kuinka satunnaisarvojen osajoukko voidaan valita R: ssä. Reaaliaikaisessa tilanteessa sinun on generoitava satunnainen näyte olemassa olevasta tietokehyksestä. Yksi niistä työpaikoista, joita tietotekniikan insinöörit suorittavat päivittäisessä elämässään, valitaan tarkkaan tietomallia suuresta aineistosta.

Koodi

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

lähtö:

Luodaan satunnainen näyte tietokehyksen nimistä nimellä Height_Weight_Data

Muutamia asioita muistettaessa liukulukuilla.

  • Ne ovat luonteeltaan binaarisia.
  • Rajoitettu edustamissa todellisissa numeroissa.

Katsotaan nyt, kuinka satunnainen kelluva luku voidaan generoida välillä -10-10

Koodi

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

lähtö:

Luodaan satunnaisia ​​liukulukupisteitä

Runif () tarkoittaa satunnaista yhtenäistä. Yllä olevassa esimerkissä olemme johtaneet 10 satunnaisesti jakautunutta lukua välillä (-10: 10)

johtopäätös

Tässä artikkelissa olemme keskustelleet satunnaislukugeneraattorista R: ssä ja nähneet, kuinka SET.SEED-toimintoa käytetään satunnaislukujen generoinnin ohjaamiseen. Olemme nähneet, kuinka SEED: ää voidaan käyttää toistettavissa oleviin satunnaislukuihin, jotka pystyvät muodostamaan satunnaislukujen sekvenssin ja asettamaan satunnaislukujen siemengeneraattorin SET.SEED (): lla. Tilastollista menetelmää, joka vaatii satunnaislukujen tuottamisen, käytetään toisinaan analyysin aikana. R on varustettu monilla toiminnoilla, kuten yhtenäisellä, normaalilla, binomi-, Poisson-, eksponentiaalisella ja gamma-toiminnolla, joka mahdollistaa yleisimmän todennäköisyysjakauman simuloinnin.

Suositellut artikkelit

Tämä on ollut opas Random Number Generatoriin R. Tässä keskustellaan Random Number Generatorin käyttöönotosta ja toiminnoista R yhdessä asianmukaisen esimerkin kanssa. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Lineaarinen regressio R: ssä
  2. Binomijakauma R: ssä
  3. Logistinen regressio R: ssä
  4. Viivakaavio R: ssä
  5. Opas satunnaislukugeneraattoriin Pythonissa
  6. Satunnaislukugeneraattori C: ssä
  7. Satunnaislukugeneraattori PHP: ssä

Luokka: