subset a 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

Louaï Benseghir
Messages : 6
Enregistré le : 11 Juil 2018, 09:31

subset a data frame

Messagepar Louaï Benseghir » 24 Jan 2023, 12:05

Bonjour,

Je colle sur une indexation d'un data.frame pour réaliser une addition. Voici mon code :

Code : Tout sélectionner

df <- data.frame(
  id = c(10,11,12,13,14,15,16,17),
  x1 = rnorm(8, 150, 55),
  name = c('sam','moh','yous','nour','meh','khal','yas','Lyna'),
  gender = c('M','M','F','F','M','M','M','F'),
  years = as.factor(c(2010, 2010,2011,2022, 2022, 2011, 2010, 2022)),
  state = c('Alg','Tim','Alg','Alg','Bli','Bli','Tim','Alg'),
  row.names=c('r1','r2','r3','r4','r5','r6','r7','r8')
)
df
sum(df$x1[df$state=="Alg"|df$years=="2022"])


La fonction sum ci-dessus me renvois la somme de X1 de Alg + X1 de 2022, alors que je souhaite obtenir la somme de X1 uniquement pour les modalités d' "Alg" de "2022". Comment faire ?

Merci d'avance

Fred Santos
Messages : 233
Enregistré le : 11 Avr 2009, 10:00
Contact :

Re: subset a data frame

Messagepar Fred Santos » 24 Jan 2023, 12:14

Bonjour,

Tout simplement ceci ?

Code : Tout sélectionner

sum(df$x1[df$state=="Alg" & df$years=="2022"])

Louaï Benseghir
Messages : 6
Enregistré le : 11 Juil 2018, 09:31

Re: subset a data frame

Messagepar Louaï Benseghir » 24 Jan 2023, 12:37

ah bon !!!

Je pensais que "&" et "|" étaient équivalents.

Merci Fred.

Fred Santos
Messages : 233
Enregistré le : 11 Avr 2009, 10:00
Contact :

Re: subset a data frame

Messagepar Fred Santos » 24 Jan 2023, 12:42

Nope ! ;-)

"|" a le sens du "ou" logique, et "&" a le sens du "et" logique.

Bonne journée,
F.


Retourner vers « Questions en cours »

Qui est en ligne

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