top of page

Medidas descritivas

Funções tapply() e aggregate()

Quando há valores faltantes

Medidas descritivas

 mean(x)      # média dos valores do objeto x

 sd(x)        # desvio padrão

 var(x)       # variância

 median(x)    # mediana

 range(x)     # amplitude

 min(x)       # mínimo

 max(x)       # máximo

 quantile(x)  # quantis

 IQR(x)       # amplitude do intervalo interquartil

 sum(x)       # soma

 prod(x)      # produto

 sort(x)      # ordenação

 summary(x)   # resumos

 which.min(x) # posição do mínimo

 which.max(x) # posição do máximo

# seja um vetor contendo os pesos de 20 pessoas

 

peso <- c(72.4, 68.4, 67.9, 67.4, 70.7, 67.7, 67.7, 67.2, 67.4, 66.1, 68.5, 67.9, 64.9, 68.3, 69.4, 65.5, 65.5, 67, 66.3, 64.8)

 

 mean(peso)                   # retorna a média dos pesos

 

 summary(peso)                # retorna o mínimo, o máximo e os quartis

 

 IQR(peso)                    # retorna a amplitude do intervalo interquartil

 

 quantile(peso)               # retorna o mínimo, o máximo e os quartis

 

 quantile(peso,c(0.1,0.9))    # retorna os quantis 10% e 90%

 

 

# seja um data frame contendo os dados de 10 pessoas

 

ID sexo idade peso

 1    M    45 78,4

 2    M    65 82,1

 3    F    54 67,4

 4    F    76 56,2

 5    M    34 56,9

 6    F    67 65,8

 7    M    36 56,3

 8    M    87 89,8

 9    M    45 75,2

10    F    68 59,3

 

dados <- read.table("clipboard",header=T,dec=",")

 

dados

   ID sexo idade peso

1   1    M    45 78.4

2   2    M    65 82.1

3   3    F    54 67.4

4   4    F    76 56.2

5   5    M    34 56.9

6   6    F    67 65.8

7   7    M    36 56.3

8   8    M    87 89.8

9   9    M    45 75.2

10 10    F    68 59.3

 

# Note que o R retornará uma mensagem de erro se você digitar mean(idade):

mean(idade)
 

Error in mean(idade) : objeto 'idade' não encontrado

 

# O símbolo $ em dados$peso retorna a variável "peso" do data frame "dados":

mean(dados$peso)

 

[1] 68.74 

# Alternativamente, podemos usar a função with():

with(dados,mean(peso))

[1] 68.74 

Função tapply()

# usando a função tapply()

 

tapply(dados$idade,dados$sexo,mean)

 

    F     M

66.25 52.00

Função aggregate()

# usando a função aggregate()

 

aggregate(idade~sexo,data=dados,mean)


  sexo idade
1    F 66.25
2    M 52.00

 

aggregate(idade~sexo,data=dados,sd)


  sexo     idade
1    F  9.105859
2    M 20.356817

 

aggregate(idade~sexo,data=dados,quantile)


  sexo idade.0% idade.25% idade.50% idade.75% idade.100%
1    F    54.00     63.75     67.50     70.00      76.00
2    M    34.00     38.25     45.00     60.00      87.00

 

aggregate(peso~sexo,data=dados,mean)


  sexo     peso
1    F 62.17500
2    M 73.11667

# usando a função aggregate() para obter simultaneamente

# as médias da idade e do peso de acordo com o sexo

aggregate(cbind(dados$idade,dados$peso),by=list(dados$sexo),mean)
 

  Group.1    V1       V2
1       F 66.25 62.17500
2       M 52.00 73.11667

 

medias <- aggregate(cbind(dados$idade,dados$peso),by=list(dados$sexo),mean)
names(medias) <- c("Sexo","Idade","Peso")
medias


  Sexo Idade     Peso
1    F 66.25 62.17500
2    M 52.00 73.11667

Quando há dados faltantes

 

# Por exemplo, seja o vetor:

 

peso <- c(73.5, 71.7, 66.4, 69.2, NA, 70.6, 70.2, 67.1, 69, 66.8, 68.7, 68.7, 69, 69.4, 70.2, NA, NA, 68.2, 69.8, 66.8)

 

# Se há valores faltantes no vetor "peso", mean(peso) retorna NA

 

mean(peso)          

 

[1] NA
 

# a função anyNA() verifica se há valores faltantes, e retorna TRUE se positivo

 

anyNA(peso)   

[1] TRUE

# o argumento na.rm=T retorna a média dos elementos do vetor, desconsiderando os valores faltantes     

mean(peso,na.rm=T)

[1] 69.13529

Funções pmax() e pmin()

 

# Por exemplo, sejam os vetores:

 

x1 <- c(8, 5, 6, 8, 2, 0, 1, 9, 3, 1)
x2 <- c(2, 9, 6, 3, 1, 9, 2, 3, 4, 2)
x3 <- c(9, 2, 3, 1, 2, 8, 5, 2, 9, 1)

# A função pmax() (de parallel maximum) retorna o maior valor em cada posição dos vetores:

pmax(x1,x2,x3)
 

 [1] 9 9 6 8 2 9 5 9 9 2

 

# A função pmin() (de parallel minimum) retorna o menor valor em cada posição dos vetores:

pmin(x1,x2,x3)
 

 [1] 2 2 3 1 1 0 1 2 3 1

 

bottom of page