transformer tableau à 3 variables en tableau de contingence

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

Damien Eden
Messages : 19
Enregistré le : 21 Sep 2017, 09:56

transformer tableau à 3 variables en tableau de contingence

Messagepar Damien Eden » 22 Sep 2017, 07:10

Bonjour,
J'ai le tableau suivant :


Code : Tout sélectionner

Année   NP   TB
2004 1   0
2004    2   10
2004   3   5
2005   1   2
2005   2   6
2005   3   4
2006   1   6
2006   2   9
2006   3   12


Je souhaite le transformer de manière à avoir en colonne les années, en variable NP et en valeur TB:

Code : Tout sélectionner

Année   1   2   3
2004   0   10   5
2005   2   6   4
2006   6   9   12


Y a t'il une fonction permettant de le faire?
Merci d'avance

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

Re: transformer tableau à 3 variables en tableau de contingence

Messagepar Pierre-Yves Berrard » 22 Sep 2017, 07:43

Bonjour,

Une solution (parmi d'autres) :

Code : Tout sélectionner

library(tidyr)
spread(data = donnees, key = NP, value = TB)
PY

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: transformer tableau à 3 variables en tableau de contingence

Messagepar Logez Maxime » 22 Sep 2017, 12:13

Bonjour,

deux autres possibilités

Code : Tout sélectionner

# avec les fonctions de base :
xtabs(TB ~ Année + NP, data = test)
      NP
Année   1  2  3
  2004  0 10  5
  2005  2  6  4
  2006  6  9 12
 
# avec reshape2
reshape2:::acast(test, Année ~ NP)
Using TB as value column: use value.var to override.
     1  2  3
2004 0 10  5
2005 2  6  4
2006 6  9 12
# ou acast(test, Année ~ NP, value.var = "TB", fun.aggregate = sum)
Cordialement,
Maxime

Damien Eden
Messages : 19
Enregistré le : 21 Sep 2017, 09:56

Re: transformer tableau à 3 variables en tableau de contingence

Messagepar Damien Eden » 25 Sep 2017, 06:36

Merci à vous.


Retourner vers « Questions en cours »

Qui est en ligne

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