Transformation de matrice

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Morgane Oriol
Messages : 5
Enregistré le : 05 Juil 2017, 09:17

Transformation de matrice

Messagepar Morgane Oriol » 18 Juil 2017, 09:04

Bonjour,

A force de chercher la solution sur internet je commence à me mélanger les pinceaux.
Voilà j'ai la matrice suivante:

annee V1 V2 V3 ...
2007 2 3 0
2008 1 2 3
....

J'aimerais transformer cette matrice pour l'avoir sous le format suivant:
annee variable note
2007 V1 2
2007 V2 3
2007 V3 0
2008 V1 1
.....

J'ai essayé as.data.frame.matrix mais j'ai obtenue le même format que la première matrice
Savez vous comment faire ?

Cordialement,
Morgane Oriol

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Transformation de matrice

Messagepar Pierre-Yves Berrard » 18 Juil 2017, 09:39

Bonjour,

C'est un problème classique de passage d'un format "wide" à un format "long".

Il y a plusieurs fonctions pour faire ça dans R. Ma préférence (simplicité de la syntaxe) va à gather du package tidyr:

Code : Tout sélectionner

gather(donnees, key = variable, value = note, V1, V2, V3)

Vous pouvez aussi spécifier les variables à ne pas passer en ligne, si c'est plus simple :

Code : Tout sélectionner

gather(donnees, key = variable, value = note, -annee)

Noter qu'il faut que "donnees" soit un "data.frame" et pas une matrice au sens de R ("matrix"). Vous parlez de matrice mais je suppose que c'est par abus de langage.
PY

Morgane Oriol
Messages : 5
Enregistré le : 05 Juil 2017, 09:17

Re: Transformation de matrice

Messagepar Morgane Oriol » 20 Juil 2017, 09:10

Merci pour ta réponse.
J'ai trouvé un autre moyen de faire.

Morgane ORIOL


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité