Medidas centrais e dispersão

Vetores


In [1]:
# Vamos criar um vetor com pesos dos alunos:
a <- c(52,52,54,56,57,60,61,65,70,120)

In [2]:
# Exibindo o vetor inteiro (todas as posições):
print(a)


 [1]  52  52  54  56  57  60  61  65  70 120

In [3]:
# Exibindo apenas a primeira posição (o peso da primeira pessoa: 52):
print(a[1])


[1] 52

In [4]:
# Exibindo apenas a décima posição (o peso da décima pessoa: 120):
print(a[10])


[1] 120

In [5]:
# Exibindo a quantidade de posições do vetor (10):
print(length(a))


[1] 10

Medidas de tendência central


In [6]:
# Calculando a Média manualmente (soma dos pesos / quantidade de pessoas): 
media <- sum(a) / length(a)
print(media)


[1] 64.7

In [7]:
# Usando a função "mean()":
print(mean(a))


[1] 64.7

In [8]:
# Calculando a mediana dos pesos: 
mediana <- median(a)
print(mediana)


[1] 58.5

In [9]:
# Moda (R não tem uma função nos pacotes padrões): 
# Criando uma função para calcular a moda: 
calcMode <- function(v) {
  uniqv <- unique(v)
  uniqv[which.max(tabulate(match(v, uniqv)))]
}

In [10]:
# Invocando a função e calculando a moda do vetor (54): 
moda <- calcMode(a)
print(moda)


[1] 52

In [11]:
# Mostrando um histograma com a distribuição dos pesos: 
hist(a)


Medidas de dispersão


In [12]:
turma1 <- c(75.02786847, 56.51450656, 55.57517955, 62.00893933,
            82.82022277, 91.78076684, 71.53028442, 82.22315417,
            71.14621041, 76.27644453)
print(paste('Média da turma 1:',mean(turma1)))
print(paste('Mediana da turma 1:',median(turma1)))

turma2 <- c(63.96213546,  51.00946728,  54.48449137,  53.62955058,
            61.62138863,  59.99119596,  57.61297576,  62.52220793,
            64.54041384,  63.95477107)
print(paste('Média da turma 2:',mean(turma2)))
print(paste('Mediana da turma 2:',median(turma2)))


[1] "Média da turma 1: 72.490357705"
[1] "Mediana da turma 1: 73.279076445"
[1] "Média da turma 2: 59.332859788"
[1] "Mediana da turma 2: 60.806292295"

In [13]:
hist(turma1)
hist(turma2)



In [23]:
ampTurma1 <- max(turma1) - min(turma1)
ampTurma2 <- max(turma2) - min(turma2)
print(paste('Amplitude da turma 1:',ampTurma1))
print(paste('Amplitude da turma 2:',ampTurma2))


[1] "Amplitude da turma 1: 36.20558729"
[1] "Amplitude da turma 2: 13.53094656"

In [24]:
# Variância amostral:
varTurma1 <- var(turma1) # amostra
varTurma2 <- var(turma2) # amostra

print(paste('Variância amostral da turma 1:',varTurma1))
print(paste('Variância amostral da turma 2:',varTurma2))


[1] "Variância amostral da turma 1: 138.696268205827"
[1] "Variância amostral da turma 2: 23.7805405386864"

In [27]:
# Variância populacional:
vPopT1 <- mean((turma1-mean(turma1))^2)
vPopT2 <- mean((turma2-mean(turma2))^2)
print(paste('Variância populacional da turma 1:',vPopT1))
print(paste('Variância populacional da turma 2:',vPopT2))


[1] "Variância populacional da turma 1: 124.826641385245"
[1] "Variância populacional da turma 2: 21.4024864848177"

In [30]:
# Desvio padrão amostral:
dTurma1 <- sd(turma1) # amostral
dTurma2 <- sd(turma2) # amostral
print(paste('Desvio padrão amostral da turma 1:',dTurma1))
print(paste('Desvio padrão amostral da turma 2:',dTurma2))


[1] "Desvio padrão amostral da turma 1: 11.7769379808942"
[1] "Desvio padrão amostral da turma 2: 4.87652955888574"

In [33]:
# Desvio padrão populacional:
dPopT1 <- sqrt(mean((turma1-mean(turma1))^2)) # populacional
dPopT2 <- sqrt(mean((turma1-mean(turma2))^2)) # populacional
print(paste('Desvio padrão populacional da turma 1:',dPopT1))
print(paste('Desvio padrão populacional da turma 2:',dPopT2))


[1] "Desvio padrão populacional da turma 1: 11.172584364651"
[1] "Desvio padrão populacional da turma 2: 17.2611237415501"

In [ ]: