filtres et opérations sur plusieurs data frame

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

Nicolas Fabre
Messages : 6
Enregistré le : 08 Juin 2021, 08:08

filtres et opérations sur plusieurs data frame

Messagepar Nicolas Fabre » 17 Oct 2021, 15:29

Bonjour,

J'essaye d'apprendre R en autodidacte et c'est parfois un petit peu compliqué pour des opérations qui semblent pourtant simples. Aussi, veuillez m'excuser par avance de la question, mais malgré des recherches sur le net, je reste bien bloqué.

Ma problématique vient de ma difficulté à filtrer mes données et à faire des opérations sur données filtrées sur plusieurs data frame. En gros, j'ai un tableau dans lequel j'ai une colonne en binaire (0 = n'a pas la caractéristique et 1 = a la caractéristique) et d'autres colonnes en numérique. J'aimerais beaucoup pouvoir faire des opérations sur mes data frame numériques quand j'applique un filtre 0 ou 1 dans ma colonne binaire. Par exemple, comment faire une moyenne sur une de mes colonnes numériques quand je n'ai que des données fixées sur 1 dans ma colonne binaire ?

Merci par avance

Facundo Muñoz
Messages : 156
Enregistré le : 04 Juil 2019, 09:58
Contact :

Re: filtres et opérations sur plusieurs data frame

Messagepar Facundo Muñoz » 17 Oct 2021, 15:49

Bonjour,

L’opérateur de base pour sélectionner des observations (lignes) d'un data.frame, une matrice ou un vecteur est le `[`, ou bien la fonction `subset()`. Vous pouvez regarder la documentation pour ces fonctions.

Vous devez fournir une condition logique pour la sélection. En l’occurrence, "tous les individus qui ont la caractéristique souhaitée". Puis, appliquer ce filtre à la variable d'intérêt pour enfin faire le calcul.

Un exemple :

Code : Tout sélectionner

(dat <- data.frame(
  has_trait = rep(0:1, each = 5),
  x1 = 0:9,
  x2 = 10:19
))
#>    has_trait x1 x2
#> 1          0  0 10
#> 2          0  1 11
#> 3          0  2 12
#> 4          0  3 13
#> 5          0  4 14
#> 6          1  5 15
#> 7          1  6 16
#> 8          1  7 17
#> 9          1  8 18
#> 10         1  9 19
## Valeurs de x1 pour les individus qui ont la caractéristique souhaitée
dat$x1[dat$has_trait == 1]
#> [1] 5 6 7 8 9
## Fonction appliquée à ces valeurs
mean(dat$x1[dat$has_trait == 1])
#> [1] 7


Cordialement,
ƒacu.-

Nicolas Fabre
Messages : 6
Enregistré le : 08 Juin 2021, 08:08

Re: filtres et opérations sur plusieurs data frame

Messagepar Nicolas Fabre » 17 Oct 2021, 15:57

Merci beaucoup pour votre réponse rapide.
Je vais aller me renseigner un peu plus sur les fonctions citées.

Bonne soirée à vous


Retourner vers « Questions en cours »

Qui est en ligne

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

cron