Introduktion till slumptalgenerator i R

Random Number Generator i R är en viktig aspekt av datavetenskap och statistik genererar slumpmässiga nummer eller genererar slumpmässiga element. Till exempel att välja slumpmässiga personer från en befolkningsdataram för att analysera och få insikt i uppgifterna. En enkel lösning för att generera slumpmässiga nummer är att använda funktioner. Slumpmässiga nummer är användbara inom olika områden som modellering, datavetenskap och sampling (statistik). Med utbyggnaden av nätverket verkar utveckling av forskning i en slumptalsgenerator nödvändig. Slumpmässiga nummer spelar en nyckelroll i säkerhetssystem och ger oss ett sofistikerat system för att skärpa nätverkets säkerhet.

Här är ett exempel nedan för att generera och skriva ut 50 värden mellan 1 och 99 med funktionen runif ().

Koda

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

Produktion:

En slumptalsgenerator hjälper till att generera en sekvens av siffror som kan sparas som en funktion som ska användas senare i operationer. Slumpnummergenerator producerar faktiskt inte slumpmässiga värden eftersom det kräver ett initialvärde som kallas SEED. Slumpnummergenerering kan styras med SET.SEED () -funktioner. SET.SEED () -kommandot använder ett heltal för att starta det slumpmässiga antalet generationer. Vidare kan den genererade slumpmässiga sekvensen sparas och användas senare.

Till exempel kommer vi att använda koden för att ta prov på 10 nummer mellan 1 och 100 och upprepa den ett par gånger.

För första gången startar SET.SEED () vid utsäde som 5 och andra gången som utsäde som 12. Tio slumpmässiga nummer har genererats för varje iteration.

Koda

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

Produktion:

Koda:

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

Produktion:

Slumpmässiga nummergeneratorfunktioner

Det finns inbyggda funktioner i R för att generera en uppsättning slumpmässiga nummer från standardfördelningar som normal, enhetlig, binomial distribution, etc. I nästa avsnitt kommer vi att se olika funktioner som runif (), rnorm (), rbinom () och rexp () för att generera slumpmässiga nummer.

1. Jämnt fördelade slumpnummer

För att generera enhetligt fördelat slumpmässigt antal runif () används. Standardintervall 0 - 1. Först måste vi ange det antal som krävs för att genereras. Dessutom kan distributionsområdet specificeras med max- och min-argumentet.

Koda

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

Produktion:

Koda

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

Produktion:

Koda

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

Produktion:

Koda

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

Produktion:

2. Normalt fördelade slumpmässiga nummer

För att generera siffror från en normal distribution används rnorm (). Där medelvärdet är 0 och standardavvikelsen är 1. Först måste vi ange det antal som krävs för att genereras. Dessutom kan medel och SD (standardavvikelse) anges argument.

Koda

rnorm(5)

Produktion:

Koda

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

Produktion:

Koda

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

Produktion:

Använda rnorm () för att generera ett normalt distribuerat slumpmässigt antal

3. Binomiala slumpmässiga siffror

De binomiala slumpmässiga siffrorna är en diskret uppsättning slumpmässiga nummer. För att härleda binomialt talvärde för n ändras till önskat antal försök. Till exempel försök 5, där n = 5

Koda:

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. ExponEntiellt distribuerade slumpmässiga nummer

Den exponentiella fördelningen används för att beskriva livslängden för elektriska komponenter. Till exempel är den elektriska lampans genomsnittliga livslängd 1500 timmar.

Koda:

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

Produktion:

Genererar heltal och floatpointnummer

Nu kommer vi att lära dig att generera slumpmässiga siffror för två typer av nummer som finns tillgängliga i R. De är ett heltal och flytande punkter eller flyttalsnummer. R kommer automatiskt att upptäcka de två kategorierna och flytta över dem när behovet uppstår. Ett heltal i R består av hela talet som kan vara positivt eller negativt medan ett flytpunktsnummer innehåller verkliga siffror. Det består av ett värde som anger den längsta siffran från decimalpunkten. Värdet är i binär och indikering finns på antalet binära platser att flytta över. Att generera slumpmässiga heltal är inbyggd sampel () -funktion pålitlig och snabb. Affärsbehov kräver att du analyserar ett urval av data. För att välja ett exempel har R sampel () -funktion. För att generera slumpmässiga heltal mellan 5 och 20 under provfunktionskoden används.

Koda

rn = sample(5:20, 5)
rn

Produktion:

Genererar ett slumpmässigt prov på 5

I exemplet ovan har fem värden genererats enligt argumentet. Vi har sett hur en delmängd av slumpmässiga värden kan väljas i R. I realtidssituation kommer du att behöva generera ett slumpmässigt prov från en befintlig dataram. Att välja ett urval av data för observation från ett stort datasats är ett av de jobb som ingenjörer utför i sin vardag.

Koda

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:

Genererar slumpmässigt prov från dataramnamn som Height_Weight_Data

Få saker att komma ihåg när det gäller flytpunkter.

  • De är binära till sin natur.
  • Begränsat i de verkliga antalet representerade.

Låt oss nu se hur slumpmässigt flytande nummer kan genereras mellan -10 till 10

Koda

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

Produktion:

Genererar slumpmässiga flottörtal

Runif () avser slumpmässig uniform. I exemplet ovan har vi härlett 10 slumpmässigt fördelade nummer mellan (-10: 10)

Slutsats

I den här artikeln har vi diskuterat slumptalsgeneratorn i R och har sett hur SET.SEED-funktionen används för att kontrollera slumpnummergenerering. Vi har sett hur SEED kan användas för reproducerbara slumpmässiga nummer som kan generera en sekvens av slumpmässiga nummer och ställa in en slumpgenerator med slumpnummer med SET.SEED (). Den statistiska metoden som kräver generering av slumpmässiga nummer används ibland under analysen. R är utrustad med flera funktioner såsom enhetlig, normal, binomial, poisson, exponentiell och gamma-funktion som möjliggör simulering av den vanligaste sannolikhetsfördelningen.

Rekommenderade artiklar

Detta har varit en guide till Random Number Generator i R. Här diskuterar vi introduktionen och funktionerna för Random Number Generator i R tillsammans med lämpligt exempel. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Linjär regression i R
  2. Binomial distribution i R
  3. Logistisk regression i R
  4. Linjediagram i R
  5. Guide till slumptalgenerator i Python
  6. Slumptalsgenerator i C #
  7. Slumpnummergenerator i PHP

Kategori: