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 -
- Lineær regression i R
- Binomial distribution i R
- Logistisk regression i R
- Linjegraf i R
- Vejledning til tilfældig nummergenerator i Python
- Tilfældig nummergenerator i C #
- Tilfældig nummergenerator i PHP