Introdução ao gerador de números aleatórios em R

O gerador de números aleatórios em R é um aspecto importante da ciência de dados e as estatísticas geram números aleatórios ou geram elementos aleatórios. Por exemplo, selecionando pessoas aleatórias em um quadro de dados da população para analisar e obter informações sobre os dados. Uma solução simples para gerar números aleatórios é usando funções. Os números aleatórios são úteis em diferentes áreas, como modelagem, ciência de dados e amostragem (estatística). Com a expansão da rede, o desenvolvimento de pesquisas em um gerador de números aleatórios parece necessário. Os números aleatórios desempenham um papel fundamental nos sistemas de segurança e nos fornecem um sistema sofisticado para reforçar a segurança da rede.

Aqui está um exemplo abaixo para gerar e imprimir 50 valores entre 1 e 99 usando a função runif ().

Código

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

Resultado:

Um gerador de números aleatórios ajuda a gerar uma sequência de dígitos que podem ser salvos como uma função a ser usada posteriormente nas operações. Na verdade, o gerador de números aleatórios não produz valores aleatórios, pois requer um valor inicial chamado SEED. A geração aleatória de números pode ser controlada com as funções SET.SEED (). O comando SET.SEED () usa um número inteiro para iniciar o número aleatório de gerações. Além disso, a sequência numérica aleatória gerada pode ser salva e usada posteriormente.

Por exemplo, usaremos o código para amostrar 10 números entre 1 e 100 e repeti-lo algumas vezes.

Pela primeira vez, o SET.SEED () começará na semente como 5 e na segunda como semente como 12. Dez números aleatórios foram gerados para cada iteração.

Código

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

Resultado:

Código:

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

Resultado:

Funções do gerador de números aleatórios

Existem funções embutidas no R para gerar um conjunto de números aleatórios a partir de distribuições padrão, como distribuições normais, uniformes, binomiais, etc. Na próxima seção, veremos diferentes funções como runif (), rnorm (), rbinom () e rexp () para gerar números aleatórios.

1. Números aleatórios distribuídos uniformemente

Para gerar um número aleatório distribuído uniformemente, runif () é usado. Intervalo padrão 0 - 1. Primeiro, precisaremos especificar o número necessário para ser gerado. Além disso, o intervalo da distribuição pode ser especificado usando o argumento max e min.

Código

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

Resultado:

Código

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

Resultado:

Código

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

Resultado:

Código

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

Resultado:

2. Números aleatórios normalmente distribuídos

Para gerar números a partir de uma distribuição normal, rnorm () é usado. Onde a média é 0 e o desvio padrão é 1. Primeiro, precisaremos especificar o número necessário para ser gerado. Além disso, média e DP (desvio padrão) podem ser argumentos especificados.

Código

rnorm(5)

Resultado:

Código

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

Resultado:

Código

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

Resultado:

Usando rnorm () para gerar um número aleatório distribuído normal

3. Números aleatórios binomiais

Os números aleatórios binomiais são um conjunto discreto de números aleatórios. Para derivar o valor do número binomial de n é alterado para o número desejado de tentativas. Por exemplo, teste 5, em que n = 5

Código:

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

Resultado:

4. Números aleatórios distribuídos exponencialmente

A distribuição exponencial é usada para descrever a vida útil dos componentes elétricos. Por exemplo, a vida média de uma lâmpada elétrica é de 1500 horas.

Código:

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

Resultado:

Gerando número inteiro e ponto flutuante

Agora aprenderemos sobre a geração de números aleatórios para dois tipos de números disponíveis em R. Eles são números inteiros e pontos flutuantes ou números de ponto flutuante. R detectará automaticamente as duas categorias e as moverá conforme a necessidade. Um número inteiro em R consiste no número inteiro que pode ser positivo ou negativo, enquanto um número de ponto flutuante inclui números reais. Consiste no valor que especifica o dígito mais distante do ponto decimal. O valor está em binário e a indicação está disponível no número de locais binários a serem movidos. Para gerar números inteiros aleatórios, a função sample () é confiável e rápida. As necessidades comerciais exigem que você analise uma amostra de dados. Para selecionar uma amostra, R possui a função sample (). Para gerar números inteiros aleatórios entre 5 e 20 abaixo, o código da função de amostra é usado.

Código

rn = sample(5:20, 5)
rn

Resultado:

Gerando uma amostra aleatória de 5

No exemplo acima, cinco valores foram gerados como o argumento indicado. Vimos como um subconjunto de valores aleatórios pode ser selecionado em R. Na situação em tempo real, você será solicitado a gerar uma amostra aleatória a partir de um quadro de dados existente. A seleção de uma amostra de dados para observação em um grande conjunto de dados é um dos trabalhos que os engenheiros de dados realizam no dia a dia.

Código

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

Resultado:

Gerando amostra aleatória a partir de nomes de quadros de dados como Height_Weight_Data

Poucas coisas a serem lembradas com relação aos números de ponto flutuante.

  • Eles são de natureza binária.
  • Limitado nos números reais representados.

Agora vamos ver como um número flutuante aleatório pode ser gerado entre -10 e 10

Código

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

Resultado:

Gerando números de ponto flutuante aleatórios

Runif () refere-se ao uniforme aleatório. No exemplo acima, derivamos 10 números aleatórios distribuídos entre (-10: 10)

Conclusão

Neste artigo, discutimos o gerador de números aleatórios em R e vimos como a função SET.SEED é usada para controlar a geração de números aleatórios. Vimos como o SEED pode ser usado para números aleatórios reproduzíveis que podem gerar uma sequência de números aleatórios e configurar um gerador de sementes de números aleatórios com SET.SEED (). O método estatístico que requer a geração de números aleatórios é usado ocasionalmente durante a análise. O R está equipado com múltiplas funções, como as funções uniforme, Normal, Binomial, Poisson, Exponencial e Gama, que permitem simular a distribuição de probabilidade mais comum.

Artigos recomendados

Este foi um guia para o Gerador de números aleatórios em R. Aqui discutimos a introdução e as funções do Gerador de números aleatórios em R, juntamente com o exemplo apropriado. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. Regressão linear em R
  2. Distribuição binomial em R
  3. Regressão logística em R
  4. Gráfico de linha em R
  5. Guia para Gerador de Números Aleatórios em Python
  6. Gerador de número aleatório em c #
  7. Gerador de número aleatório em PHP

Categoria: