Introductie van Random Number Generator in R

Random Number Generator in R is een belangrijk aspect van data science en statistieken genereren willekeurige getallen of genereren willekeurige elementen. Bijvoorbeeld, het selecteren van willekeurige mensen uit een populatie dataframe om te analyseren en inzicht te krijgen in de gegevens. Een eenvoudige oplossing om willekeurige getallen te genereren, is door functies te gebruiken. Willekeurige getallen zijn nuttig op verschillende gebieden, zoals modellering, gegevenswetenschap en steekproeven (statistieken). Met de uitbreiding van het netwerk lijkt de ontwikkeling van onderzoek in een random number generator noodzakelijk. Willekeurige getallen spelen een sleutelrol in beveiligingssystemen en bieden ons een geavanceerd systeem om de beveiliging van het netwerk te verbeteren.

Hier is een voorbeeld hieronder om 50 waarden tussen 1 en 99 te genereren en af ​​te drukken met de functie runif ().

Code

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

Output:

Een willekeurige nummergenerator helpt bij het genereren van een reeks cijfers die kan worden opgeslagen als een functie die later in bewerkingen kan worden gebruikt. Willekeurige getallengenerator produceert eigenlijk geen willekeurige waarden omdat het een beginwaarde vereist die SEED wordt genoemd. Het genereren van willekeurige getallen kan worden geregeld met de functies SET.SEED (). SET.SEED () -opdracht gebruikt een geheel getal om het willekeurige aantal generaties te starten. Verder kan de gegenereerde willekeurige nummerreeks worden opgeslagen en later worden gebruikt.

We gebruiken de code bijvoorbeeld om 10 getallen tussen 1 en 100 te bemonsteren en een paar keer te herhalen.

Voor de eerste keer start SET.SEED () bij seed als 5 en tweede keer als seed als 12. Voor elke iteratie zijn tien willekeurige getallen gegenereerd.

Code

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

Output:

Code:

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

Output:

Functies voor het genereren van willekeurige getallen

Er zijn ingebouwde functies in R om een ​​reeks willekeurige getallen te genereren uit standaardverdelingen zoals normaal, uniform, binomiale verdelingen, enz. In de volgende sectie zullen we verschillende functies zien zoals runif (), rnorm (), rbinom () en rexp () om willekeurige getallen te genereren.

1. Uniform verdeelde willekeurige nummers

Om een ​​uniform verdeeld willekeurig getal te genereren, wordt runif () gebruikt. Standaardbereik 0 - 1. Eerst moeten we het nummer opgeven dat moet worden gegenereerd. Bovendien kan het bereik van de verdeling worden opgegeven met behulp van het argument max en min.

Code

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

Output:

Code

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

Output:

Code

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

Output:

Code

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

Output:

2. Normaal verdeelde willekeurige nummers

Om getallen te genereren uit een normale verdeling wordt rnorm () gebruikt. Waar het gemiddelde 0 is en de standaardafwijking is 1. Eerst moeten we het nummer opgeven dat moet worden gegenereerd. Bovendien kunnen gemiddelde en SD (standaardafwijking) gespecificeerde argumenten zijn.

Code

rnorm(5)

Output:

Code

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

Output:

Code

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

Output:

Rnorm () gebruiken voor het genereren van een normaal verdeeld willekeurig getal

3. Binomiale willekeurige nummers

De binomiale willekeurige getallen zijn een afzonderlijke reeks willekeurige getallen. Om binomiaal getalwaarde van n af te leiden, wordt het gewenste aantal proeven gewijzigd. Bijvoorbeeld proef 5, waarbij n = 5

Code:

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

Output:

4. Exponentieel verdeelde willekeurige getallen

De exponentiële verdeling wordt gebruikt om de levensduur van elektrische componenten te beschrijven. De gemiddelde levensduur van een elektrische lamp is bijvoorbeeld 1500 uur.

Code:

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

Output:

Geheel getal en drijvende komma genereren

Nu zullen we leren over het genereren van willekeurige getallen voor twee soorten getallen die beschikbaar zijn in R. Ze zijn een geheel getal en zwevende punten of zwevende puntnummers. R zal de twee categorieën automatisch detecteren en eroverheen bewegen als dat nodig is. Een geheel getal in R bestaat uit het hele getal dat positief of negatief kan zijn, terwijl een getal met drijvende komma reële getallen bevat. Het bestaat uit een waarde die het verste cijfer van de komma aangeeft. De waarde is in binair en indicatie is beschikbaar op het aantal binaire plaatsen om over te gaan. Om willekeurige gehele getallen te genereren, is de ingebouwde sample () functie betrouwbaar en snel. Voor zakelijke behoeften moet u een steekproef van gegevens analyseren. Om een ​​sample te selecteren heeft R de sample () functie. Om willekeurige gehele getallen tussen 5 en 20 hieronder te genereren, wordt de voorbeeldfunctiecode gebruikt.

Code

rn = sample(5:20, 5)
rn

Output:

Een willekeurige steekproef van 5 genereren

In het bovenstaande voorbeeld zijn vijf waarden gegenereerd als argument. We hebben gezien hoe een subset van willekeurige waarden kan worden geselecteerd in R. In realtime situatie moet u een willekeurige steekproef van een bestaand gegevensframe genereren. Het selecteren van een steekproef van gegevens voor observatie uit een grote gegevensset is een van de taken die gegevensingenieurs in hun dagelijks leven uitvoeren.

Code

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

Output:

Willekeurige steekproef genereren uit gegevensframe-namen als Hoogte_Gewicht_Data

Weinig dingen om te onthouden met betrekking tot getallen met drijvende komma.

  • Ze zijn binair van aard.
  • Beperkt in de reële getoonde aantallen.

Laten we nu kijken hoe een willekeurig zwevend getal kan worden gegenereerd tussen -10 en 10

Code

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

Output:

Willekeurige float-puntnummers genereren

Runif () verwijst naar het willekeurige uniform. In het bovenstaande voorbeeld hebben we 10 willekeurig verdeelde getallen tussen (-10: 10) afgeleid

Conclusie

In dit artikel hebben we de willekeurige nummergenerator in R besproken en hebben we gezien hoe de functie SET.SEED wordt gebruikt om de willekeurige nummergeneratie te besturen. We hebben gezien hoe SEED kan worden gebruikt voor reproduceerbare willekeurige getallen die in staat zijn om een ​​reeks willekeurige getallen te genereren en een random-seed-generator met SET.SEED () in te stellen. De statistische methode die het genereren van willekeurige getallen vereist, wordt af en toe gebruikt tijdens de analyse. R is uitgerust met meerdere functies zoals uniform, Normaal, Binomiaal, Poisson, Exponentieel en Gamma-functie waarmee de meest voorkomende kansverdeling kan worden gesimuleerd.

Aanbevolen artikelen

Dit is een gids voor Random Number Generator in R. Hier bespreken we de introductie en functies van Random Number Generator in R samen met het juiste voorbeeld. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Lineaire regressie in R
  2. Binomiale verdeling in R
  3. Logistieke regressie in R
  4. Lijngrafiek in R
  5. Handleiding voor het genereren van willekeurige getallen in Python
  6. Willekeurige nummergenerator in C #
  7. Random Number Generator in PHP

Categorie: