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 -
- Lineær regresjon i R
- Binomial distribusjon i R
- Logistisk regresjon i R
- Linjediagram i R
- Guide to Random Number Generator in Python
- Tilfeldig nummergenerator i C #
- Tilfeldig nummergenerator i PHP