Introduksjon til Random Number Generator i R

Tilfeldig tallgenerator i R er et viktig aspekt ved datavitenskap og statistikk genererer tilfeldige tall eller genererer tilfeldige elementer. For eksempel å velge tilfeldige personer fra en populasjonsdataramme for å analysere og få innsikt i dataene. En enkel løsning for å generere tilfeldige tall er ved å bruke funksjoner. Tilfeldige tall er nyttige på forskjellige områder som modellering, datavitenskap og prøvetaking (statistikk). Med utvidelsen av nettverket, synes utvikling av forskning i en tilfeldig tallgenerator nødvendig. Tilfeldige tall spiller en nøkkelrolle i sikkerhetssystemer og gir oss et sofistikert system for å stramme sikkerheten i nettverket.

Her er ett eksempel nedenfor for å generere og skrive ut 50 verdier mellom 1 og 99 ved bruk av runif () -funksjonen.

Kode

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

Produksjon:

En tilfeldig tallgenerator er med på å generere en sekvens med sifre som kan lagres som en funksjon som skal brukes senere i operasjoner. Tilfeldig tallgenerator produserer faktisk ikke tilfeldige verdier, da det krever en startverdi kalt SEED. Tilfeldig nummergenerering kan styres med SET.SEED () -funksjoner. SET.SEED () -kommandoen bruker et helt tall for å starte det tilfeldige antall generasjoner. Videre kan den genererte tilfeldige tallsekvensen lagres og brukes senere.

For eksempel vil vi bruke koden til å prøve 10 tall mellom 1 og 100 og gjenta den et par ganger.

For første gang starter SET.SEED () ved frø som 5 og andre gang som frø som 12. Ti tilfeldige tall er blitt generert for hver iterasjon.

Kode

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

Produksjon:

Kode:

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

Produksjon:

Tilfeldige nummergeneratorfunksjoner

Det er innebygde funksjoner i R for å generere et sett med tilfeldige tall fra standardfordelinger som normal, uniform, binomial fordeling, etc. I neste avsnitt vil vi se forskjellige funksjoner som runif (), rnorm (), rbinom () og rexp () for å generere tilfeldige tall.

1. Ensartet distribuerte tilfeldige tall

For å generere jevn fordelt tilfeldig antall runif () brukes. Standardområde 0 - 1. Først vil vi kreve å spesifisere nummeret som skal genereres. I tillegg kan distribusjonsområdet spesifiseres ved å bruke maks- og min-argumentet.

Kode

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

Produksjon:

Kode

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

Produksjon:

Kode

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

Produksjon:

Kode

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

Produksjon:

2. Normalt distribuerte tilfeldige tall

For å generere tall fra en normal distribusjon brukes rnorm (). Hvor gjennomsnittet er 0 og standardavviket er 1. Først vil vi kreve å spesifisere antall som skal genereres. I tillegg kan gjennomsnitt og SD (standardavvik) spesifiseres argumenter.

Kode

rnorm(5)

Produksjon:

Kode

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

Produksjon:

Kode

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

Produksjon:

Bruke rnorm () for å generere et normalt distribuert tilfeldig tall

3. Binomiale tilfeldige tall

De binomiale tilfeldige tall er et diskret sett med tilfeldige tall. For å utlede binomialtallverdien av n endres til ønsket antall forsøk. For eksempel prøve 5, der n = 5

Kode:

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

Produksjon:

4. ExponEntielt distribuerte tilfeldige tall

Den eksponentielle fordelingen brukes til å beskrive levetiden til elektriske komponenter. For eksempel er gjennomsnittlig levetid for en elektrisk lampe 1500 timer.

Kode:

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

Produksjon:

Genererer heltall og float-nummer

Nå skal vi lære om å generere tilfeldige tall for to typer tall som er tilgjengelige i R. De er et heltall og flytende punkter eller flyttall. R vil automatisk oppdage de to kategoriene og bevege seg over dem etter hvert som behovet oppstår. Et heltall i R består av hele tallet som kan være positivt eller negativt, mens et flytende tall inkluderer reelle tall. Den består av verdi som spesifiserer det lengste sifferet fra desimalet. Verdien er i binær og indikasjon er tilgjengelig på antall binære steder å flytte over. Å generere tilfeldige heltall innebygd prøve () -funksjon er pålitelig og rask. Forretningsbehov krever at du analyserer et utvalg av data. For å velge en prøve har R funksjon (). For å generere tilfeldige heltall mellom 5 og 20 under er funksjonskoden for prøven brukt.

Kode

rn = sample(5:20, 5)
rn

Produksjon:

Genererer en tilfeldig prøve på 5

I eksemplet over er fem verdier blitt generert som argumentet uttalte. Vi har sett hvordan en delmengde av tilfeldige verdier kan velges i R. I sanntidssituasjon vil du bli pålagt å generere en tilfeldig prøve fra en eksisterende dataramme. Å velge et utvalg data for observasjon fra et stort datasett er en av oppgavene ingeniører utfører i sin daglige hverdag.

Kode

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

Produksjon:

Genererer tilfeldig prøve fra datarammenavn som Height_Weight_Data

Få ting å huske på med antall flytende punkter.

  • De er binære i naturen.
  • Begrenset i de reelle tallene som er representert.

La oss se hvordan tilfeldig flytende nummer kan genereres mellom -10 til 10

Kode

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

Produksjon:

Genererer tilfeldige flyttallstall

Runif () refererer til den tilfeldige uniformen. I eksemplet over har vi avledet 10 tilfeldig distribuerte tall mellom (-10: 10)

Konklusjon

I denne artikkelen har vi diskutert tilfeldig tallgeneratoren i R og har sett hvordan SET.SEED-funksjonen brukes til å kontrollere genereringen av tilfeldig tall. Vi har sett hvordan SEED kan brukes til reproduserbare tilfeldige tall som er i stand til å generere en sekvens av tilfeldige tall og sette opp en tilfeldig tallfrøgenerator med SET.SEED (). Den statistiske metoden som krever generering av tilfeldige tall blir noen ganger brukt under analysen. R er utstyrt med flere funksjoner som uniform, Normal, Binomial, Poisson, Exponential og Gamma-funksjon som gjør det mulig å simulere den vanligste sannsynlighetsfordelingen.

Anbefalte artikler

Dette har vært en guide til Random Number Generator i R. Her diskuterer vi introduksjonen og funksjonene til Random Number Generator i R sammen med passende eksempel. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Lineær regresjon i R
  2. Binomial distribusjon i R
  3. Logistisk regresjon i R
  4. Linjediagram i R
  5. Guide to Random Number Generator in Python
  6. Tilfeldig nummergenerator i C #
  7. Tilfeldig nummergenerator i PHP

Kategori: