Introduzione al generatore di numeri casuali in R

Il generatore di numeri casuali in R è un aspetto importante della scienza dei dati e le statistiche generano numeri casuali o generano elementi casuali. Ad esempio, selezionando persone casuali da un frame di dati di popolazione per analizzare e ottenere informazioni dettagliate sui dati. Una semplice soluzione per generare numeri casuali è utilizzando le funzioni. I numeri casuali sono utili in diverse aree come la modellazione, la scienza dei dati e il campionamento (statistiche). Con l'espansione della rete, sembra necessario lo sviluppo della ricerca in un generatore di numeri casuali. I numeri casuali svolgono un ruolo chiave nei sistemi di sicurezza e ci forniscono un sistema sofisticato per rafforzare la sicurezza della rete.

Ecco un esempio qui sotto per generare e stampare 50 valori tra 1 e 99 usando la funzione runif ().

Codice

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

Produzione:

Un generatore di numeri casuali aiuta a generare una sequenza di cifre che possono essere salvate come funzione da utilizzare successivamente nelle operazioni. Il generatore di numeri casuali in realtà non produce valori casuali in quanto richiede un valore iniziale chiamato SEED. La generazione di numeri casuali può essere controllata con le funzioni SET.SEED (). Il comando SET.SEED () utilizza un numero intero per avviare il numero casuale di generazioni. Inoltre, la sequenza numerica casuale generata può essere salvata e utilizzata in seguito.

Ad esempio, useremo il codice per campionare 10 numeri tra 1 e 100 e ripeterlo un paio di volte.

Per la prima volta SET.SEED () inizierà al seme come 5 e la seconda volta come seme come 12. Sono stati generati dieci numeri casuali per ogni iterazione.

Codice

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

Produzione:

Codice:

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

Produzione:

Funzioni del generatore di numeri casuali

Ci sono funzioni integrate in R per generare un insieme di numeri casuali da distribuzioni standard come distribuzioni normali, uniformi, binomiali, ecc. Nella prossima sezione vedremo diverse funzioni come runif (), rnorm (), rbinom () e rexp () per generare numeri casuali.

1. Numeri casuali distribuiti uniformemente

Per generare un numero casuale distribuito uniformemente viene usato runif (). Intervallo predefinito 0 - 1. Innanzitutto, è necessario specificare il numero richiesto per la generazione. Inoltre, è possibile specificare l'intervallo della distribuzione utilizzando l'argomento max e min.

Codice

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

Produzione:

Codice

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

Produzione:

Codice

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

Produzione:

Codice

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

Produzione:

2. Numeri casuali normalmente distribuiti

Per generare numeri da una normale distribuzione viene usato rnorm (). Dove media è 0 e la deviazione standard è 1. Innanzitutto, sarà necessario specificare il numero richiesto da generare. Inoltre, è possibile specificare argomenti come media e SD (deviazione standard).

Codice

rnorm(5)

Produzione:

Codice

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

Produzione:

Codice

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

Produzione:

Utilizzo di rnorm () per generare un numero casuale distribuito normale

3. Numeri casuali binomiali

I numeri casuali binomiali sono un insieme discreto di numeri casuali. Per derivare il valore del numero binomiale di n viene modificato nel numero desiderato di prove. Ad esempio la versione di prova 5, dove n = 5

Codice:

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

Produzione:

4. Expon Numeri casuali distribuiti ufficialmente

La distribuzione esponenziale viene utilizzata per descrivere la durata dei componenti elettrici. Ad esempio, la durata media di una lampada elettrica è di 1500 ore.

Codice:

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

Produzione:

Generazione di numeri interi e in virgola mobile

Ora impareremo a generare numeri casuali per due tipi di numeri disponibili in R. Sono numeri interi e in virgola mobile o numeri in virgola mobile. R rileverà automaticamente le due categorie e si sposterà attraverso di esse in caso di necessità. Un numero intero in R è costituito dal numero intero che può essere positivo o negativo, mentre un numero in virgola mobile include numeri reali. Consiste in un valore che specifica la cifra più lontana dal punto decimale. Il valore è in binario e l'indicazione è disponibile sul numero di posizioni binarie da spostare. Per generare numeri casuali interi la funzione sample () integrata è affidabile e veloce. Le esigenze aziendali richiedono di analizzare un campione di dati. Per selezionare un campione R ha la funzione sample (). Per generare numeri interi casuali tra 5 e 20 sotto viene utilizzato il codice della funzione di esempio.

Codice

rn = sample(5:20, 5)
rn

Produzione:

Generazione di un campione casuale di 5

Nell'esempio sopra, sono stati generati cinque valori come indicato nell'argomento. Abbiamo visto come un sottoinsieme di valori casuali può essere selezionato in R. In una situazione in tempo reale ti verrà richiesto di generare un campione casuale da un frame di dati esistente. La selezione di un campione di dati per l'osservazione da un ampio set di dati è uno dei lavori che gli ingegneri dei dati svolgono nella loro vita quotidiana.

Codice

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

Produzione:

Generazione di campioni casuali dai nomi dei frame di dati come Height_Weight_Data

Poche cose da ricordare per quanto riguarda i numeri in virgola mobile.

  • Sono di natura binaria.
  • Limitato nei numeri reali rappresentati.

Ora vediamo come si può generare un numero variabile casuale tra -10 e 10

Codice

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

Produzione:

Generazione di numeri casuali in virgola mobile

Runif () si riferisce all'uniforme casuale. Nell'esempio sopra, abbiamo derivato 10 numeri distribuiti casuali tra (-10: 10)

Conclusione

In questo articolo, abbiamo discusso del generatore di numeri casuali in R e abbiamo visto come la funzione SET.SEED viene utilizzata per controllare la generazione di numeri casuali. Abbiamo visto come SEED può essere utilizzato per numeri casuali riproducibili che sono in grado di generare una sequenza di numeri casuali e impostare un generatore di seme di numeri casuali con SET.SEED (). Il metodo statistico che richiede la generazione di numeri casuali viene occasionalmente utilizzato durante l'analisi. R è dotato di molteplici funzioni come la funzione uniforme, Normale, Binomiale, Poisson, Esponenziale e Gamma che consente di simulare la distribuzione di probabilità più comune.

Articoli consigliati

Questa è stata una guida al generatore di numeri casuali in R. Qui discuteremo l'introduzione e le funzioni del generatore di numeri casuali in R insieme all'esempio appropriato. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Regressione lineare in R
  2. Distribuzione binomiale in R
  3. Regressione logistica in R
  4. Grafico a linee in R
  5. Guida al generatore di numeri casuali in Python
  6. Generatore di numeri casuali in C #
  7. Generatore di numeri casuali in PHP

Categoria: