O R vem com as configurações mínimas ao ser instalado. Para realizar tarefas mais específicas pode ser necessário instalar pacotes adicionais (packages), clicando em “pacotes>>instalar pacotes”;
É necessário escolher o CRAN (Comprehensive R Archive Network), que são arquivos disponibilizados na rede por diversas IES do mundo inteiro, inclusive do Brasil.
O R é case-sensitive, isto é, ele diferencia letras minúsculas de maiúsculas;
O separador de casas decimais é o “.”;
A vírgula é usada para separar argumentos;
O prompt do R é o sinal de maior “>”;
Após instalarmos algum pacote sempre será necessário carregá-lo com o comando: library(“nome do pacote”)
;
Para verificar como citar o pacote instalado digite: citation(“nome do pacote”)
;
Para obter ajuda dos arquivos do R use o comando help(nome da função)
.
Exemplos:
# help(sqrt) #ajuda sobre a função raiz quadrada
# help(lm) # ajuda sobre a função linear models
#demo(graphics) #pressione Enter
#demo(persp)
#demo(image)
Vamos crias um vetor de notas de 10 alunos da turma. A função length(notas)
fornece o número de observações (n) dentro do objeto.
OBS: o comando <-
significa assinalar; o comando c
significa concatenar (colocar junto).
notas = c(9,6,8,5,7,8,6,9,10,6)
print(notas)
## [1] 9 6 8 5 7 8 6 9 10 6
length(notas)
## [1] 10
Para objetos com letras (variáveis qualitativas), basta colocar cada observação entre aspas.
Para listar quais objetos temos salvo utiliza-se a função ls()
.
Para remover um objeto: rm(“nome do objeto”)
.
letras<-c("a","b","c","d")
print(letras)
## [1] "a" "b" "c" "d"
ls()
## [1] "letras" "notas"
1:10
: sequência de 1 até 10, de um em um. seq(from = 1, to = 10, by = 2 )
, isto é, sequência(de um, a dez, em intervalos de 2). Ou ainda seq(1,100,5)
: sequência de 1 a 100 em intervalos de 5
1:10
## [1] 1 2 3 4 5 6 7 8 9 10
seq(from = 1, to = 10, by = 2 )
## [1] 1 3 5 7 9
seq(1,100,5)
## [1] 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96
rbinom(n, size, prob)
: gera uma distribuição aleatória Binomial com n
valores (observações), número de tentativas size
e probabilidade de sucesso prob
.
rgeom(n, prob)
: gera uma distribuição aleatória Geométrica com n
valores e probabilidade de sucesso prob
.
rpois(n, lambda)
: gera uma distribuição aleatória Poisson com n
valores e vetor de médias lambda
.
runif(n, min=0, max=1)
: gera uma distribuição aleatória Uniforme contínua com n
valores, começando em min
e terminando em max
.
rexp(n, rate = 1)
: gera uma distribuição aleatória Exponencial com n
valores e taxa rate
.
rnorm(n, mean = 0, sd = 1))
: gera uma distribuição aleatória Normal com n
valores, média mean
e desvio padrão sd
.
rbinom(10, 4, 0.2)
## [1] 0 0 0 1 0 0 1 1 0 1
rgeom(5,0.1)
## [1] 8 1 4 6 8
rpois(8,2)
## [1] 4 1 0 1 2 0 5 1
rexp(6,1)
## [1] 0.4454434 0.0750031 0.3461275 0.1350191 1.4734959 1.8149776
runif(4, 0.2,.9)
## [1] 0.4377425 0.8828375 0.6168082 0.5098012
rnorm(7)
## [1] 0.42625400 1.75809682 0.02280284 -0.93405279 0.24597875 -1.11157366
## [7] 0.71074540
x1 = rnorm(200)
hist(x1,
col = "lightblue",
freq = F,
main = "",
xlab = "Dados de X~N(0,1)",
ylab = "f(x): f.d.p. de X",
breaks = 20)
curve(dnorm(x,mean = mean(x1),sd=sd(x1)),add = T)
sample(x, size=1, replace = FALSE)
: em que x
é o conjunto de dados do qual as amostras serão retiradas, size
é o número de amostras e replace
é onde você indica se a amostra deve ser feita com reposição (TRUE) ou sem reposição (FALSE).
Exemplo
sample(1:10,5) # tira 5 amostras com valores entre 1 e 10
## [1] 9 5 2 3 7
Como não especificamos o argumento replace o padrão é considerar que a amostra é sem reposição (= FALSE).
sample(1:10,15,replace=TRUE)
## [1] 10 3 5 4 3 7 8 7 4 1 6 9 6 1 7
Lembram dos exemplos da moeda em probabilidade? Então,
moeda = c("C","K") # primeiro criamos a moeda
sample(moeda,10,replace=TRUE) # não podemos esquecer do TRUE
## [1] "C" "K" "K" "C" "K" "K" "C" "C" "C" "C"
Exemplo 4.2 - pág. 56
\(X \sim Bin(18;0,1)\)
X: número de amostras que contém uma molécula rara.
a) \(P(X = 2)\)
dbinom(2,18,0.1)
## [1] 0.2835121
b) \(P(X \geq 4) = 1- P(X\leq 3) = F(3)\)
pbinom(3,18,0.1)
## [1] 0.9018032
1-pbinom(3,18,0.1)
## [1] 0.09819684
c) \(E(X)\) e \(\sigma^2 = var(X)\)
E_X = 18*0.1
print(E_X)
## [1] 1.8
var_X = 18*.1*.9
print(var_X)
## [1] 1.62
Exemplo 4.3 - pág. 57
\(X \sim Geo(0,01)\)
X: número de pastilhas analisadas antes de ocorrer o primeiro sucesso.
\(P(X = 125)\)
dgeom(125,0.01)
## [1] 0.002847078
E_X = 1/0.01
print(E_X)
## [1] 100
var_X = (1-0.01)/(0.01^2)
print(var_X)
## [1] 9900
Exemplo 4.4 - pág. 57
\(X \sim Poi(3)\)
X: número de consultas por minuto.
\(P(X < 3) = P(X \leq 2)\)
ppois(2,3)
## [1] 0.4231901
Exemplo 4.6 - pág. 58
\(X \sim Exp(500)\)
X: tempo de vida.
\(P(X > 0,002) = 1-P(X <0,002)\)
1-pexp(0.002,500)
## [1] 0.3678794
E_x = 1/500
print(E_x)
## [1] 0.002
Exemplo 4.7 - pág. 60
\(X \sim N(15,2^2)\)
X: tempo de cura (em dias).
\(P(X > 17) = 1-P(X \leq 17)\)
1-pnorm(17,15,2)
## [1] 0.1586553
Exemplo 4.8 - pág. 60
\(X \sim N(10.000,1.500^2)\)
X: depósitos efetuados (R$).
pnorm(10000,10000,1500)
## [1] 0.5
pnorm(15000,10000,1500)-pnorm(12000,10000,1500)
## [1] 0.09078216
d_ex4.7 = rnorm(200,12000,1500)
hist(d_ex4.7,
col = "lightblue",
freq = F,
main = "",
xlab = "Dados de X~N(12.000,1.500^2)",
ylab = "f(x): f.d.p. de X",
breaks = 20)
curve(dnorm(x,mean = mean(d_ex4.7),sd=sd(d_ex4.7)),add = T)
pnorm(1.2) - pnorm(0)
## [1] 0.3849303
pnorm(0) - pnorm(-0.68)
## [1] 0.2517478
pnorm(2.21) - pnorm(-0.46)
## [1] 0.6636893
pnorm(1.94) - pnorm(0.81)
## [1] 0.1827802
pnorm(1.28)
## [1] 0.8997274
pnorm(2.44)
## [1] 0.9926564