## Objetivo: Revisar tópicos de medidas estatísticas
##===================================================================
## 1- Apresentação do potencial do R
## 2- Familiarização com o R
##===================================================================
##-------------------------------------------------------------------
## Gerando amostras
##-------------------------------------------------------------------------------
A <- c(2, 1.2, 2.1, 1.6, 0.9, 2.2, 1.8) # Altura, m
B <- c(1.8, 1.7, 1.7, 1.7, 1.5, 1.7, 1.5) # Altura, m
##-------------------------------------------------------------------------------
## Visualização gráfica das amostras
##-------------------------------------------------------------------------------
par(mfrow=c(2,1),
bty='l')
## A
plot(A,
type='h',
ylim=c(0, 2.5),
xlab='A',
ylab='')
## Média de A
abline(h=mean(A),
col='red',
lw=2)
## B
plot(B,
type='h',
ylim=c(0, 2.5),
xlab='B',
ylab='Altura, m')
## Média de B
abline(h=mean(B),
col='red',
lw=2)
##-------------------------------------------------------------------
## Algumas medidas estatísticas importantes
##-------------------------------------------------------------------
## Média
mean(A)
mean(B)
## Variância
var(A)
var(B)
## Desvio padrão
sd(A)
sd(B)
## Coeficiente de variação
100 * sd(A) / mean(A)
100 * sd(B) / mean(B)
## Uma pequena e simples função
cv <- function(x) {
100 * sd(x) / mean(x)
}
cv(A)
cv(B)
## Verificando a influência da escala nas medidas
A100 <- 100 * A # (Altura, cm)
mean(A); mean(A100)
var(A); var(A100)
sd(A); sd(A100)
cv(A); cv(A100)
## Curiosidade
## Testando a igualdade
var(100 + A) == var(A)
## Testando a igualdade variando o número de casas decimais
for(ndec in 1:17)
print(round(var(100 + A), ndec) == round(var(A), ndec))
##-------------------------------------------------------------------------------
## Dividir SQD por n-1 no cálculo da estimativa da variância: por quê?
##-------------------------------------------------------------------------------
## Função para determinar o desvio quadrático médio - dqm
dqm <- function(x) {
sum((x - mean(x))^2) / length(x)
}
## Retirar 'na' amostras válidas de tamanho 'n' de uma população
## com distribuição normal Y ~ N(Mu, Sigma)
## (média 'Mu', desvio padrão 'Sigma')
## Parâmetros da população
Mu <- 10 # Média
Sigma <- 2 # Desvio Padrão
## Características da amostra
na <- 1e4 # Número de amostras (usar 1e3, 1e4, 1e5)
n <- 5 # Tamanho da amostra (usar 5, 10, 50, ...)
## Amostragem
amo <- matrix(rnorm(na * n,
Mu,
Sigma),
ncol=n)
## Parâmetros gráficos
par(mfrow=c(2,1),
pch='.',
cex=1)
## Determinando o dqm das amostras
plot(apply(amo,
1,
dqm),
ylim=c(0,30),
xlab='',
main='Desvio quadrático médio',
col='orange')
## Determinando a variância das amostras
plot(apply(amo,
1,
var),
ylim=c(0,30),
xlab='Amostra',
main='Variância',
col='darkgreen')
## Linha horizontal da média de dqm: E(dqm)
abline(h=mean(apply(amo,
1,
dqm)),
col='orange',
lw=2)
## Linha horizontal da média de var: E(var)
abline(h=mean(apply(amo,
1,
var)),
col='green',
lw=2)
##-------------------------------------------------------------------------------
## Medidas de associação
##-------------------------------------------------------------------------------
## Criando os vetores
Y1 <- 1:12
Y2 <- 10 * Y1
Y3 <- -10 * Y1
Y4 <- c(10, 24, 28, 40, 55, 62,
65, 80, 94, 95, 112, 116)
Y5 <- -1 * Y4
Y6 <- runif(n = 20, 1, 15)
Y7 <- Y6 + rnorm(20, m=2, sd=5)
Y8 <- -1 * Y6 + rnorm(20, m=2, sd=5)
Y9 <- c(0.03, 0.62, 0.07, 0.75, 0.88, 0.59,
0.93, 0.15, 0.45, 0.61, 0.33, 0.70)
Y10 <- c(0.78, 0.39, 0.40, 0.38, 0.68, 0.63,
0.66, 0.62, 0.19, 0.98, 0.75, 0.56)
## Definindo parâmetros gráficos
par(mfrow=c(2,2),
cex=1,
bty='l',
pch=19,
col='blue')
## Visualização gráfica das variáveis aleatórias em um diagrama de dispersão
## Y1 vs. Y2
plot(Y2 ~ Y1,
main='Perfeita e positiva',
sub=paste('cov(Y1, Y2)',
round(cov(Y1, Y2),
2),
sep='='))
## Y1 vs. Y3
plot(Y3 ~ Y1,
main='Perfeita e negativa',
sub=paste('cov(Y1, Y3)',
round(cov(Y1, Y3),
2),
sep='='))
## Y1 vs. Y4
plot(Y4 ~ Y1,
main='Forte e positiva',
sub=paste('cov(Y1, Y4)',
round(cov(Y1, Y4),
2),
sep='='))
## Y1 vs. Y5
plot(Y5 ~ Y1,
main='Forte e negativa',
sub=paste('cov(Y1, Y5)',
round(cov(Y1, Y5),
2),
sep='='))
## Y6 vs. Y7
plot(Y7 ~ Y6,
main='Fraca e positiva',
sub=paste('cov(Y6, Y7)',
round(cov(Y6, Y7),
2),
sep='='))
## Y6 vs. Y8
plot(Y8 ~ Y6,
main='Fraca e negativa',
sub=paste('cov(Y6, Y8)',
round(cov(Y6, Y8),
2),
sep='='))
## Y10 vs. Y9
plot(Y10 ~ Y9,
main='Nula',
sub=paste('cov(Y9, Y10)',
round(cov(Y9, Y10),
2),
sep='='))
## Covariância
cov(Y1, Y2) # Perfeita positiva
cov(Y1, Y3) # Perfeita negativa
cov(Y1, Y4) # Forte positiva
cov(Y1, Y5) # Forte negativa
cov(Y6, Y7) # Fraca e positiva
cov(Y7, Y8) # Fraca e negativa
cov(Y9, Y10) # Nula
## Correlação: observar as vantagens em relação a covariância!
cor(Y1, Y2) # Perfeita positiva
cor(Y1, Y3) # Perfeita negativa
cor(Y1, Y4) # Forte positiva
cor(Y1, Y5) # Forte negativa
cor(Y6, Y7) # Fraca e positiva
cor(Y7, Y8) # Fraca e negativa
cor(Y9, Y10) # Nula
## Verificando a influência da escala
## Covariância
cov(Y1, Y4)
cov(100 * Y1, 100 * Y4)
## Correlação
cor(Y1, Y4)
cor(100 * Y1, 100 * Y4)
Meu nome é Miklos Bajay, consultor sênior especializado em assessoria estatística para artigos científicos, trabalhos de conclusão de curso, dissertações de mestrado e teses de doutorados. Se você estiver precisando de apoio técnico para análise estatística do seu trabalho acadêmico, elaboramos um relatório estatístico, a partir da sua base de dados, com todas as análises descritivas, tabelas, gráficos, testes e modelos estatísticos utilizados para resolução do seu problema de pesquisa.
Estatísticas básicas no R
Marcadores:
Básico