Evènement majoritaire par espace d'observation

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

Martin Duvert
Messages : 3
Enregistré le : 21 Fév 2022, 15:11

Evènement majoritaire par espace d'observation

Messagepar Martin Duvert » 24 Fév 2022, 16:26

Bonjour à toutes et tous,

Je me permets de solliciter votre aide pour un travail que je réalise.
Pour développer, je suis en train de regarder le nombre d'événements météorologiques qui ont pu se dérouler sur des espaces d'observations, où chaque événement est catégorisé selon son type d'influence (océanique, méditerranéen, etc.).

Mon data frame se compose donc comme cela :

Espace d'observation (id) ; type d'influence
O1 ; med
O1 ; med
O1 ; ocea
O2 ; atl
O2 ; med
O2 ; ocea
etc.

Pour avoir le nombre total d'événement par type et par placette, je transforme ma table en un tableau de contingence.
Je me retrouve alors avec un tableau comme celui-ci :

med ocea atl
O1 2 1 0
O2 1 1 1

A partir de là, par placette, je fais ressortir le nombre maximum d'événement selon les types. Au lieu du nombre maximum renvoyé, j'aimerais avoir le nom de la colonne (donc du type d'événement) pour faire ressortir le type d'événement majoritaire par espace d'observation.
Dans l'idée, je me dis peut-être que mon code devrait prendre cette forme : "si événement par espace d'observation = max alors renvoyer le nom de la colonne max". Cela ne reste qu'une hypothèse et je ne sais pas trop comment pouvoir l'articuler.
Pour l'instant voici mon code :

Code : Tout sélectionner

[code]clim<- table(clim$Id_O, clim$Type_even)
clim<- as.data.frame.matrix(clim)
clim$Typ_majo<-apply(clim, 1, max)



En vous remerciant pour votre aide.

Bonne fin de journée,

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Evènement majoritaire par espace d'observation

Messagepar Mickael Canouil » 24 Fév 2022, 16:36

Bonjour,

Il ya plusieurs possibilités de code pour faire ce que vous voulez à condition que vous fournissiez un exemple reproductible : un extrait ou un jeux de données simulées de vos données par exemple serait le strict minimum.


Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Martin Duvert
Messages : 3
Enregistré le : 21 Fév 2022, 15:11

Re: Evènement majoritaire par espace d'observation

Messagepar Martin Duvert » 25 Fév 2022, 06:47

Bonjour,

Merci pour les différentes indications transmises.

Je vous communique un extrait de mes données, avec encore une fois les traitements que j'ai pu faire dessus. En espérant que cela puisse permettre d'y voir plus clair.

Code : Tout sélectionner

clim<- structure(list(x = structure(1:10, .Label = c("a1", "a2", "a3", "a4","a5","a6","a7","a8","a9","a10"
), class = "factor"),y=c("56_O", "56_O", "56_O", "57_O","57_O","57_O","58_O","58_O","58_O","58_O"),z = c("med","ocea","med","atl","ocea","ocea","med","atl","ocea","atl")),
.Names = c("Id_O", "O_E","Type_even"), row.names =c(NA, -10L), class = "data.frame")

clim<- table(clim$O_E, clim$Type_even)
clim<- as.data.frame.matrix(clim)
clim$Typ_majo<-apply(clim, 1, max)


Cordialement,

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

Re: Evènement majoritaire par espace d'observation

Messagepar Gabriel Terraz » 25 Fév 2022, 09:12

Bonjour,

A partir de ton dataframe, tu peux faire :

Code : Tout sélectionner

max_idx <- apply(clim, 1, which.max)
clim$type_max <- names(clim)[max_idx]

Martin Duvert
Messages : 3
Enregistré le : 21 Fév 2022, 15:11

Re: Evènement majoritaire par espace d'observation

Messagepar Martin Duvert » 25 Fév 2022, 13:14

Bonjour,

Super, c'est exactement ce que je voulais, merci beaucoup !

Bonne journée.


Retourner vers « Questions en cours »

Qui est en ligne

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