top of page

CRÉATION DE VARIABLES

Pour créer une nouvelle variable qui sera la résultante d’une opération, on utilise cette formule :

 

Nom_Objet$Nom_Nouvelle_Variable=Opération

 

Exemples :

 

Fichier$IMC=Fichier$Poids/(Fichier$Taille)² # Crée une nouvelle variable / colonne nommée IMC dans l'objet nommé Fichier.

Fichier$Durée=Fichier$Date_Fin - Fichier$Date_Début # Crée une nouvelle variable / colonne nommée Durée qui est la durée entre deux événements.

À savoir : Le nom de l’objet et le nom de l’élément appartenant à l’objet sont séparés par le symbole $.

 

On a vu comment créer une nouvelle variable à partir d’une opération de variables. Cependant, on peut aussi créer une nouvelle variable qui prendra différentes valeurs selon des conditions. Cela se fait avec plusieurs fonctions ifelse( ) imbriquées les unes dans les autres.

 

Fichier$Categorie=ifelse(Fichier$IMC <= 16.5, « Anorexie »,

ifelse(Fichier$IMC > 16.5 & Fichier$IMC <= 18.5, « Maigreur »,

ifelse(Fichier$IMC > 18.5 & Fichier$IMC <= 25, « Normal »,

ifelse(Fichier$IMC > 25 & Fichier$IMC <= 30, « Surpoids »,

« Obèse »)))) # Ne pas oublier de bien refermer toutes les parenthèses.

 

Dans chaque fonction ifelse( ), il y a deux parties : la condition et la valeur que va prendre la variable si la condition est respectée. La dernière fonction ifelse( ) a une partie supplémentaire, elle correspond à la valeur que va prendre la variable si aucune des conditions précédentes n’est respectée.

 

​Enfin, la fonction attach() permet de ne plus avoir à écrire le nom du tableau devant la variable

 

attach(Fichier)

Var1 # À la place de Fichier$Var1. Pour utiliser la première variable, on la cite directement.

Pour finir, pour recoder les valeurs d’une variable, on transforme la variable en un objet de classe factor et on précise les modalités avec le paramètre labels.

 

Sexe=factor(Sexe, levels=c(1,2), labels=c("Homme", "Femme")) # Dans le fichier d’origine les hommes ont le codage 1 et les femmes le codage 2. Dans le paramètre levels on précise les valeurs à recoder et dans le paramètre labels on précise le nouveau recodage (attention à l'ordre).

bottom of page