## 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