Modalités avec espace en plusieurs variables

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

Johan Provot
Messages : 10
Enregistré le : 20 Mar 2014, 13:16

Modalités avec espace en plusieurs variables

Messagepar Johan Provot » 08 Sep 2015, 13:45

Bonjour,
Je viens vers vous car je n'arrive pas à résoudre un problème et ne trouve pas la solution dans les précédents sujets du forum.

J'ai une variable "Centre_suivi" qui se présente comme cela :

Centre_suivi

necker
necker nancy
necker
necker trousseau
necker trousseau bicetre
trousseau

...

Je souhaiterais créer une variable par centre de suivi lorsqu'il y'en a plusieurs (par exemple une modalité "necker trousseau bicetre" serait placer dans 3 variables distinctes avec Centre_suivi_1="necker", Centre_suivi_2="trousseau" et Centre_suivi_3="bicetre").

Autrement dit, que le caractère "espace" serve de séparateur qui indiquerait qu'il faut placer la suite dans le Centre_suivi_2 et ainsi de suite (le nombre maximum de centres de suivi étant de 3).

Merci d'avance de votre aide
Bonne journée
Johan

Navarre Julien
Messages : 367
Enregistré le : 20 Avr 2012, 08:27

Re: Modalités avec espace en plusieurs variables

Messagepar Navarre Julien » 08 Sep 2015, 13:53

Bonjour, tu peux utiliser la fonction separate du package tidyr.

Si tu es sur que c'est 3 colonnes 3 :

Code : Tout sélectionner

library(tidyr)
separate(datas, Centre_suivi, sprintf("Centre_suivi_%d", 1:3), sep = " ", extra = "drop")
Centre_suivi_1 Centre_suivi_2 Centre_suivi_3
1         necker           <NA>           <NA>
2         necker          nancy           <NA>
3         necker           <NA>           <NA>
4         necker      trousseau           <NA>
5         necker      trousseau        bicetre
6      trousseau           <NA>           <NA>


Mais, si tu as d'autres colonnes, un identifiant par example, un format long sera plus facile à manipuler avec R.

Johan Provot
Messages : 10
Enregistré le : 20 Mar 2014, 13:16

Re: Modalités avec espace en plusieurs variables

Messagepar Johan Provot » 08 Sep 2015, 14:25

Merci beaucoup, ça marche très bien !!

Bonne soirée à vous

Gabriel Terraz
Messages : 592
Enregistré le : 26 Sep 2011, 15:11

Re: Modalités avec espace en plusieurs variables

Messagepar Gabriel Terraz » 08 Sep 2015, 14:29

Salut,
J'aurais vu les choses plutôt comme ceci : une colonne par hopital :

Code : Tout sélectionner

rl <- readLines("test")               
st <- strsplit(rl , " ")
hop <- c("necker", "trousseau", "bicetre","nancy")

tab <- t(sapply(st , function(x) as.numeric(hop %in% x)))
colnames(tab) <- hop
> tab
     necker trousseau bicetre nancy
[1,]      1         0       0     0
[2,]      1         0       0     1
[3,]      1         0       0     0
[4,]      1         1       0     0
[5,]      1         1       1     0
[6,]      0         1       0     0


Edit : ce n'était donc pas ça !


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité