Le jeu de données possède trois lignes de commentaires, que ses colonnes sont nommées et qu’elles sont séparées par un point-virgule.
## 'data.frame': 63 obs. of 8 variables:
## $ Species: Factor w/ 63 levels " Anoura geofroyi ",..: 52 20 19 12 16 17 47 29 55 41 ...
## $ Diet : int 1 1 1 1 1 1 1 1 1 1 ...
## $ Clade : Factor w/ 4 levels "I","II","III",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ BOW : num 136.3 120 58.7 48.3 184 ...
## $ BRW : num 2070 2210 1310 1184 3028 ...
## $ AUD : num 9.88 10.44 5.48 4.77 7.09 ...
## $ MOB : num 105.8 107.8 67 65.3 213.4 ...
## $ HIP : num 126 159.8 97.7 95.4 233.3 ...
On remarque que la variable Diet
est numérique, on va la transformer en facteur.
## 'data.frame': 63 obs. of 8 variables:
## $ Species: Factor w/ 63 levels " Anoura geofroyi ",..: 52 20 19 12 16 17 47 29 55 41 ...
## $ Diet : Factor w/ 4 levels "1","2","3","4": 1 1 1 1 1 1 1 1 1 1 ...
## $ Clade : Factor w/ 4 levels "I","II","III",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ BOW : num 136.3 120 58.7 48.3 184 ...
## $ BRW : num 2070 2210 1310 1184 3028 ...
## $ AUD : num 9.88 10.44 5.48 4.77 7.09 ...
## $ MOB : num 105.8 107.8 67 65.3 213.4 ...
## $ HIP : num 126 159.8 97.7 95.4 233.3 ...
La fonction count()
permet de compter le nombre d’individus par classe.
## # A tibble: 4 x 2
## Diet n
## <fct> <int>
## 1 1 29
## 2 2 5
## 3 3 27
## 4 4 2
## # A tibble: 4 x 2
## Clade n
## <fct> <int>
## 1 I 21
## 2 II 23
## 3 III 1
## 4 IV 18
## # A tibble: 16 x 3
## Diet Clade n
## <fct> <fct> <int>
## 1 1 I 10
## 2 1 II 19
## 3 1 III 0
## 4 1 IV 0
## 5 2 I 4
## 6 2 II 1
## 7 2 III 0
## 8 2 IV 0
## 9 3 I 7
## 10 3 II 1
## 11 3 III 1
## 12 3 IV 18
## 13 4 I 0
## 14 4 II 2
## 15 4 III 0
## 16 4 IV 0
table()
a un format de sortie plus lisible pour un humain … mais pas pour un ordinateur.
##
## I II III IV
## 1 10 19 0 0
## 2 4 1 0 0
## 3 7 1 1 18
## 4 0 2 0 0
## Species Diet Clade BOW
## Anoura geofroyi : 1 1:29 I :21 Min. : 2.56
## Artibeus lituratus : 1 2: 5 II :23 1st Qu.: 9.44
## Aselliscus stoiczkanus : 1 3:27 III: 1 Median : 20.20
## Brachyphylla cavernarum : 1 4: 2 IV :18 Mean : 54.29
## Cardioderma cor : 1 3rd Qu.: 41.25
## Carollia perspicillata : 1 Max. :1014.00
## (Other) :57
## BRW AUD MOB HIP
## Min. : 87.0 Min. : 1.840 Min. : 0.660 Min. : 4.80
## 1st Qu.: 273.1 1st Qu.: 4.190 1st Qu.: 5.225 1st Qu.: 18.40
## Median : 586.0 Median : 5.520 Median : 13.850 Median : 30.60
## Mean : 893.4 Mean : 7.404 Mean : 31.930 Mean : 50.80
## 3rd Qu.: 912.0 3rd Qu.:10.040 3rd Qu.: 32.200 3rd Qu.: 53.02
## Max. :9121.0 Max. :27.600 Max. :243.540 Max. :331.29
##
geom_bar()
permet de dessiner des diagrammes en bâton.
Mettre une variable sur le remplissage (argument fill
) adapte automatique le compte par groupe.
ggplot(df_bats) +
aes(x = Clade, fill = Diet) +
geom_bar(position = "stack") # on peut utiliser "dodge" et "fill"
Quelques histogrammes et densités avec des options.
ggplot(df_bats) +
aes(x = HIP) +
geom_histogram(aes(y = ..density..), fill = "grey") +
geom_density(bins = 30)
## Warning: Ignoring unknown parameters: bins
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Représenter une variable numérique par rapport à une variable catégorielle se fait principalement à l’aide de geom_bowplot()
.
Mais on peut aussi utiliser geom_violin()
voir geom_point()
.
On ne sait calculer les corrélations qu’entre variables numériques, on ne va garder que celles-ci dans notre dataframe avant de les calculer.
cor_bats <-
df_bats %>%
select_if(is.numeric) %>% # select_if() garde les colonnes qui respectent une condition
cor()
cor_bats
## BOW BRW AUD MOB HIP
## BOW 1.0000000 0.9618106 0.4660245 0.7685600 0.8170310
## BRW 0.9618106 1.0000000 0.5459500 0.8926875 0.9312282
## AUD 0.4660245 0.5459500 1.0000000 0.4104843 0.4553231
## MOB 0.7685600 0.8926875 0.4104843 1.0000000 0.9847818
## HIP 0.8170310 0.9312282 0.4553231 0.9847818 1.0000000
La fonction corrplot()
du package corrplot permet de visualiser les corrélations et d’apprécier les relations entre variables bien plus facilement qu’avec la matrice.
On utilise la fonction PCA()
en précisant quelles sont les variables qualitatives pour les exclure de l’analyse.
Valeurs propres.
## eigenvalue variance.percent cumulative.variance.percent
## Dim.1 3.17776748 79.4441871 79.44419
## Dim.2 0.71218810 17.8047026 97.24889
## Dim.3 0.09989538 2.4973844 99.74627
## Dim.4 0.01014903 0.2537259 100.00000
Scree plot.
fviz_pca_var()
trace le cercle des corrélations.
Comme prévu par le calcul des corrélations, BOW
, BRW
, MOB
et HIP
sont très corrélées.
On peut choisir de colorier les individus par une variable catégorielle qu’on a préalablement spécifiée dans l’appel à PCA()
.
Ou on peut aussi les colorier par des statistiques associées aux individus, comme le cos carré.