Manipuler des ensembles de données et des objets de données

R pour les utilisateurs et utilisatrices de SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Charger l'ensemble Davis du paquet car

  • Charger l'ensemble Davis du paquet car
  • Afficher les 6 premières lignes
library(car)
head(Davis)
  sex weight height repwt repht
1   M     77    182    77   180
2   F     58    161    51   159
3   F     53    161    54   158
4   M     68    177    70   175
5   F     59    157    59   155
6   M     76    170    76   165
R pour les utilisateurs et utilisatrices de SAS

étape de données SAS r mutate ajouter imc créer davismod

R pour les utilisateurs et utilisatrices de SAS

étape de données SAS r mutate ajouter imc créer davismod

R pour les utilisateurs et utilisatrices de SAS

étape de données SAS r mutate ajouter imc créer davismod

R pour les utilisateurs et utilisatrices de SAS

Calculer une nouvelle variable : indice de masse corporelle

davismod <- Davis %>%
  mutate(bmi = weight / ((height/100))^2)

head(davismod)
  sex weight height repwt repht    bmi
1   M     77    182    77   180 23.245
2   F     58    161    51   159 22.375
3   F     53    161    54   158 20.446
4   M     68    177    70   175 21.705
5   F     59    157    59   155 23.936
6   M     76    170    76   165 26.297
R pour les utilisateurs et utilisatrices de SAS

Calculer une nouvelle variable : opérateurs logiques

davismod <- davismod %>%
  mutate(diffht = repht - height) %>%
  mutate(difflow = diffht <= -3)

davismod %>%
  head()
  sex weight height repwt repht      bmi diffht difflow
1   M     77    182    77   180 23.24598     -2   FALSE
2   F     58    161    51   159 22.37568     -2   FALSE
3   F     53    161    54   158 20.44674     -3    TRUE
4   M     68    177    70   175 21.70513     -2   FALSE
5   F     59    157    59   155 23.93606     -2   FALSE
6   M     76    170    76   165 26.29758     -5    TRUE
R pour les utilisateurs et utilisatrices de SAS

Recode avec ifelse

davismod <- davismod %>%
  mutate(bmicat = ifelse(test = bmi < 25, yes = "1. underwt/norm",
                         no = ifelse(bmi < 30, "2. overwt", "3. obese")))

# display rows 15 to 21
davismod %>% slice(15:21)
  sex weight height repwt repht      bmi diffht difflow          bmicat
1   F     52    163    57   160 19.57168     -3    TRUE 1. underwt/norm
2   F     65    166    66   165 23.58833     -1   FALSE 1. underwt/norm
3   M     92    187   101   185 26.30902     -2   FALSE       2. overwt
4   F     62    168    62   165 21.96712     -3    TRUE 1. underwt/norm
5   M     76    197    75   200 19.58309      3   FALSE 1. underwt/norm
6   F     61    175    61   171 19.91837     -4    TRUE 1. underwt/norm
7   M    119    180   124   178 36.72840     -2   FALSE        3. obese
R pour les utilisateurs et utilisatrices de SAS

Tester et confirmer le type d'objet

davismod %>%
  select(bmi, bmicat) %>%
  head()
       bmi          bmicat
1 23.24598 1. underwt/norm
2 22.37568 1. underwt/norm
3 20.44674 1. underwt/norm
4 21.70513 1. underwt/norm
5 23.93606 1. underwt/norm
6 26.29758       2. overwt
davismod %>%
  pull(bmi) %>%
  is.numeric()
[1] TRUE
davismod %>%
  pull(bmicat) %>%
  is.numeric()
[1] FALSE
R pour les utilisateurs et utilisatrices de SAS

Tester et confirmer le type d'objet

davismod %>%
  pull(difflow) %>%
  is.vector()
is.data.frame(davismod)
is.matrix(davismod)

 

[1] TRUE
[1] TRUE
[1] FALSE
R pour les utilisateurs et utilisatrices de SAS

Convertir les types d'objets : coercition

davismod %>%
  pull(difflow) %>%
  head()
[1] FALSE FALSE TRUE FALSE FALSE TRUE
  • Plusieurs fonctions as.xxx() en R
  • Pour convertir un type d'objet en un autre
  • Convertir logique en numérique
davismod %>%
  pull(difflow) %>%
  as.numeric() %>%
  head()
[1] 0 0 1 0 0 1
R pour les utilisateurs et utilisatrices de SAS

Convertir les types d'objets : coercition

davismod %>%
  select(weight, height) %>%
  head(4)
  weight height
1     77    182
2     58    161
3     53    161
4     68    177

Convertir en matrice, vérifier class()

davismod %>%
  select(weight, height) %>%
  as.matrix() %>%
  class()
[1] "matrix"
R pour les utilisateurs et utilisatrices de SAS

Mettons à jour l'ensemble abalone avec de nouvelles variables

R pour les utilisateurs et utilisatrices de SAS

Preparing Video For Download...