Existem quatro comandos básicos para trabalhar com variáveis aleatórias no R.
p (probability) – gera a probabilidade de um valor x.
q (quantile) – gera o valor x de uma dada probabilidade acumulada.
d (densitty) – gera o valor da função densidade num valor x da variável.
r (randon) – gera n valores do modelo probabilístico.
1. Principais modelos probabilisticos no R
rbinom(n, size, prob) modelo binomial
rpois(n, lambda) Poisson
rgeom(n, prob) geometrica
rhyper(nn, m, n, k) hipergeometrica
rnbinom(n, size, prob) binomial negativa
runif(n, min=0, max=1) uniforme
rexp(n, rate=1) exponential
rnorm(n, mean=0, sd=1) Gaussiana (normal)
rt(n, df) ‘Student’ (t)
rf(n, df1, df2) Fisher–Snedecor (F)
rchisq(n, df) Quiquadrada
rgamma(n, shape, scale=1) gamma
rbeta(n, shape1, shape2) beta
rlnorm(n, meanlog=0, sdlog=1) lognormal
rcauchy(n, location=0, scale=1) Cauchy
rweibull(n, shape, scale=1) Weibull
rwilcox(nn, m, n) Wilcoxon’s rank sum statistics
rsignrank(nn, n) Wilcoxon’s signed rank statistics
rlogis(n, location=0, scale=1) logistic
2. Geração de números aleatórios
#---------------------------------------# #Geraçao de numeros aleatorios #Amer Cavalheiro Hamdan #Novembro 2012 #-----------------------------------------# #Geracao de numeros aleatorios #-----------------------------------------# #variaveis continuas # Gera numeros aleatarios de distribuicao normal x<-rnorm(1000) #gera 1000 numeros aleatarios x hist(x) #histograma de x v<-round(rnorm(1000),digits=1) #gera 1000 com arredondamento de 1 casa decimal v k<-trunc(rnorm(1000,100,15)) #gera 1000 numeros aleatarios com numeros inteiros k #---------------------------------------------- # Gera numeros aleatorios com amostra de tamanho 10; media 30; desvio padrao 5 y<-rnorm(10,30,5) y #------------------------------------------------- #Gera numeros aleatorios de distribuicao uniforme z<-runif(1000) z hist(z) #------------------------------------------------# #variaveis discretas #------------------------------------------------# #gera numeros aleatorios de distribuicao binominal a <- rbinom (20, 10, 0.5) a hist(a) d<-rbinom(1000, 100, 0.5) d hist(d) #------------------------------------------------- #gera uma amostra aleatoria a partir de numeros pre-estabelecidos #----------------------------------------------------------- x<-c(1,2,3,4,5,6) #determinado quais valores podem ser assumidos sample(x, 100,re=TRUE) #aqui mandamos sortear dentre os valores de x #aqui o tamanho da amostra #re abrevia replace do ingles, indicando reposicao #---------------------------------------------------------# #gerar numeros aleatorios de distribuicao uniforme #---------------------------------------------------------# runif(1) #gera um numero aleatorio de uma distribuicao uniforme. #Nessa distribuicao o unico parametro exigido e o tamanho da amostra #---------------------------------------------------------# #Graficos de probabilidade #---------------------------------------------------------# curve(dnorm(x),-3,3) #desenha uma curva de distrib normal em [-3,3] #----------------------------------------------------------- #Grafico de distribuicao normal j <-rnorm(100) hist(j,probability=TRUE,col="yellow", main="Normal(0,1)",ylab="Densidade", ylim=c(0,0.5),xlim=c(-3,3)) curve(dnorm(x),add=T) #------------------------------------------------------------ #grafico de distribuicao uniforme b <-runif(100) hist(b,probability=TRUE,main="Uniforme[0,1]", ylab="Densidade",col="red") curve(dunif(x,0,1),add=T) #------------------------------------------------------------ #grafico de distribuicao exponencial c <-rexp(100,1/2500) hist(c,probability=TRUE, col ="lightblue",main="Exponencial com media=2500",ylab="Densidade") curve(dexp(x,1/2500),add=T) #------------------------------------------------------------