zscore <- seq(-3,3, by = .1)
zscore
## [1] -3.0 -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1 -2.0 -1.9 -1.8 -1.7 -1.6
## [16] -1.5 -1.4 -1.3 -1.2 -1.1 -1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1
## [31] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4
## [46] 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9
## [61] 3.0
dvalues <- dnorm(zscore)
dvalues
## [1] 0.004431848 0.005952532 0.007915452 0.010420935 0.013582969 0.017528300
## [7] 0.022394530 0.028327038 0.035474593 0.043983596 0.053990967 0.065615815
## [13] 0.078950158 0.094049077 0.110920835 0.129517596 0.149727466 0.171368592
## [19] 0.194186055 0.217852177 0.241970725 0.266085250 0.289691553 0.312253933
## [25] 0.333224603 0.352065327 0.368270140 0.381387815 0.391042694 0.396952547
## [31] 0.398942280 0.396952547 0.391042694 0.381387815 0.368270140 0.352065327
## [37] 0.333224603 0.312253933 0.289691553 0.266085250 0.241970725 0.217852177
## [43] 0.194186055 0.171368592 0.149727466 0.129517596 0.110920835 0.094049077
## [49] 0.078950158 0.065615815 0.053990967 0.043983596 0.035474593 0.028327038
## [55] 0.022394530 0.017528300 0.013582969 0.010420935 0.007915452 0.005952532
## [61] 0.004431848
plot(dvalues, # Plot where y = values and x = index of the value in the vector
xaxt = "n", # Don't label the x-axis
type = "l", # Make it a line plot
main = "pdf of the Standard Normal",
xlab= "Z-score")
# These commands label the x-axis
axis(1, at=which(dvalues == dnorm(0)), labels=c(0))
axis(1, at=which(dvalues == dnorm(1)), labels=c(-1, 1))
axis(1, at=which(dvalues == dnorm(2)), labels=c(-2, 2))
### A função dnorm retorna a altura do gráfico da distribuição normal padrão.
### A função pnorm retorna a integral de menos infinito até o ponto z especificado na função, ou seja, o parâmetro lower.tail = TRUE é o padrão. Ao especificar lower.tail = FALSE, ele vai pegar a integral (cálculo da área abaixo do gráfico) a partir do ponto z até mais infinito. Lower.tail significa cauda inferior.
### Já a função qnorm, é o inverso da função pnorm, ela retorna o valor de z, dado o valor da área abaixo do gráfico até (ou a partir) do ponto z.
pvalues <- pnorm(zscore)
# Now we'll plot these values
plot(pvalues, # Plot where y = values and x = index of the value in the vector
xaxt = "n", # Don't label the x-axis
type = "l", # Make it a line plot
main = "cdf of the Standard Normal",
xlab= "Quantiles",
ylab="Probability Density")
# These commands label the x-axis
axis(1, at=which(pvalues == pnorm(-2)), labels=round(pnorm(-2), 2))
axis(1, at=which(pvalues == pnorm(-1)), labels=round(pnorm(-1), 2))
axis(1, at=which(pvalues == pnorm(0)), labels=c(.5))
axis(1, at=which(pvalues == pnorm(1)), labels=round(pnorm(1), 2))
axis(1, at=which(pvalues == pnorm(2)), labels=round(pnorm(2), 2))
### rnorm serve para gerar um vetor de números aleatórios distribuídos normalmente. É interessante definir uma semente antes, para que seus dados possam ser replicados em outro computador com os mesmos números. set.seed Eu vou gerar uma seed com uma equação de 5 menos 8 menos 2020.
set.seed(05-08-2020)
rnorm(5)
## [1] -0.4982783 0.4011413 -1.3838022 0.5074972 -0.8739998
n10 <- rnorm(10, mean = 70, sd = 5)
n100 <- rnorm(100, mean = 70, sd = 5)
n10000 <- rnorm(10000, mean = 70, sd = 5)
oldpar <- par()
par(mfrow=c(1,3))
# The breaks argument specifies how many bars are in the histogram
hist(n10, breaks = 5)
hist(n100, breaks = 20)
hist(n10000, breaks = 100)