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 -
- Regressão linear em R
- Distribuição binomial em R
- Regressão logística em R
- Gráfico de linha em R
- Guia para Gerador de Números Aleatórios em Python
- Gerador de número aleatório em c #
- Gerador de número aleatório em PHP