Introduktion til Random Number Generator i R

Random Number Generator i R er et vigtigt aspekt af datavidenskab, og statistikker genererer tilfældige tal eller genererer tilfældige elementer. For eksempel at vælge tilfældige personer fra en populationsdataramme for at analysere og få indsigt i dataene. En enkel løsning til at generere tilfældige tal er ved hjælp af funktioner. Tilfældige tal er nyttige på forskellige områder såsom modellering, data videnskab og sampling (statistik). Med udvidelsen af ​​netværket synes udvikling af forskning i en tilfældig talgenerator nødvendig. Tilfældige numre spiller en nøglerolle i sikkerhedssystemer og giver os et sofistikeret system til at stramme netværkets sikkerhed.

Her er et eksempel nedenfor til at generere og udskrive 50 værdier mellem 1 og 99 ved hjælp af funktionen runif ().

Kode

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

Produktion:

En tilfældig talgenerator hjælper med at generere en sekvens af cifre, der kan gemmes som en funktion til senere brug i operationer. En tilfældig talgenerator producerer faktisk ikke tilfældige værdier, da den kræver en startværdi kaldet SEED. Generering af tilfældigt tal kan styres med SET.SEED () -funktioner. Kommandoen SET.SEED () bruger et heltal til at starte det tilfældige antal generationer. Yderligere kan den genererede tilfældige nummersekvens gemmes og bruges senere.

For eksempel bruger vi koden til at prøve 10 numre mellem 1 og 100 og gentage den et par gange.

For første gang starter SET.SEED () ved frø som 5 og anden gang som frø som 12. Der er genereret ti tilfældige tal for hver iteration.

Kode

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

Produktion:

Kode:

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

Produktion:

Tilfældige nummergeneratorfunktioner

Der er indbyggede funktioner i R til at generere et sæt tilfældige tal fra standardfordelinger som normal, ensartet, binomial fordeling osv. I det næste afsnit vil vi se forskellige funktioner som runif (), rnorm (), rbinom () og rexp () for at generere tilfældige tal.

1. Ensartet fordelte tilfældige tal

Til at generere ensartet fordelt tilfældigt tal runif () bruges. Standardområde 0 - 1. Først vil vi kræve at specificere det antal, der skal genereres. Derudover kan distributionsområdet specificeres ved hjælp af argumentet max og min.

Kode

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

Produktion:

Kode

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

Produktion:

Kode

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

Produktion:

Kode

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

Produktion:

2. Normalt distribuerede tilfældige numre

Til at generere tal fra en normal distribution anvendes rnorm (). Hvor middelværdien er 0, og standardafvigelsen er 1. Først vil vi kræve at specificere det antal, der skal genereres. Derudover kan middelværdi og SD (standardafvigelse) specificeres argumenter.

Kode

rnorm(5)

Produktion:

Kode

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

Produktion:

Kode

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

Produktion:

Brug af rnorm () til generering af et normalt distribueret tilfældigt tal

3. Binomiale tilfældige tal

De binomiale tilfældige tal er et diskret sæt tilfældige tal. For at udlede binomialtalværdien af ​​n ændres til det ønskede antal forsøg. For eksempel prøve 5, hvor 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

Produktion:

4. ExponEntielt distribuerede tilfældige tal

Den eksponentielle fordeling bruges til at beskrive levetiden for elektriske komponenter. For eksempel er den gennemsnitlige 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)

Produktion:

Generering af heltal og flydepunktnummer

Nu lærer vi at generere tilfældige tal for to typer numre, der er tilgængelige i R. De er et heltal og flydende punkter eller flydepunktnumre. R registrerer automatisk de to kategorier og bevæger sig hen imod dem, når behovet opstår. Et heltal i R består af hele tallet, der kan være positivt eller negativt, mens et flydende tal inkluderer reelle tal. Det består af en værdi, der specificerer det længste ciffer fra decimalpunktet. Værdien er i binær og indikation er tilgængelig på antallet af binære steder at flytte over. At generere tilfældige heltalers indbygget prøve () -funktion er pålidelig og hurtig. Forretningsbehov kræver, at du analyserer en stikprøve af data. For at vælge en prøve har R prøve () funktion. For at generere tilfældige heltal mellem 5 og 20 under prøven funktionskode bruges.

Kode

rn = sample(5:20, 5)
rn

Produktion:

Genererer en tilfældig prøve på 5

I ovenstående eksempel er der genereret fem værdier som angivet i argumentet. Vi har set, hvordan en undergruppe af tilfældige værdier kan vælges i R. I realtidssituation skal du generere en tilfældig prøve fra en eksisterende dataramme. Valg af en stikprøve af data til observation fra et stort datasæt er et af de job, som ingeniører udfører i deres daglige liv.

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

Produktion:

Generering af tilfældig prøve fra datarammernavne som Height_Weight_Data

Få ting at huske angående flydepunktnumre.

  • De er binære i naturen.
  • Begrænset i de reelle antal repræsenteret.

Lad os nu se, hvordan tilfældigt flydende nummer kan genereres mellem -10 til 10

Kode

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

Produktion:

Generering af tilfældige float point tal

Runif () henviser til tilfældig uniform. I ovenstående eksempel har vi afledt 10 tilfældigt fordelte tal mellem (-10: 10)

Konklusion

I denne artikel har vi drøftet den tilfældige talgenerator i R og har set, hvordan SET.SEED-funktion bruges til at kontrollere genereringen af ​​tilfældigt tal. Vi har set, hvordan SEED kan bruges til reproducerbare tilfældige tal, der er i stand til at generere en sekvens af tilfældige tal og opsætte en tilfældig talfrøgenerator med SET.SEED (). Den statistiske metode, der kræver generering af tilfældige tal, anvendes lejlighedsvis under analysen. R er udstyret med flere funktioner såsom ensartet, normal, binomial, poisson, eksponentiel og gamma-funktion, der tillader simulering af den mest almindelige sandsynlighedsfordeling.

Anbefalede artikler

Dette har været en guide til Random Number Generator i R. Her diskuterer vi introduktionen og funktionerne af Random Number Generator i R sammen med det passende eksempel. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Lineær regression i R
  2. Binomial distribution i R
  3. Logistisk regression i R
  4. Linjegraf i R
  5. Vejledning til tilfældig nummergenerator i Python
  6. Tilfældig nummergenerator i C #
  7. Tilfældig nummergenerator i PHP

Kategori: