Fonction match et if

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

marie-soleil fradette
Messages : 3
Enregistré le : 07 Juil 2017, 15:08

Fonction match et if

Messagepar marie-soleil fradette » 07 Juil 2017, 15:39

Bonjour,
Voilà ce que je voudrais faire :
Si la valeur d’une ligne de la première colonne du data.frame ’test’ ce retrouve quelque part dans la première colonne de la matrice ‘num.lignes2’ alors on écrit 9 dans la ligne de la colonne 11 du data.frame ‘test’ sinon on écrit 0 pour cette ligne dans la colonne 11.
Voilà le code que j’ai essayé, mais cela ne fonctionne pas :

If (match(test[1], num.lignes2[1]),test[[11] <- 9, test[[11]] <-0)

Est-ce que vous savez pourquoi cela ne fonctionne pas?

Merci beaucoup
Bonne journée

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

Re: Fonction match et if

Messagepar Gabriel Terraz » 07 Juil 2017, 15:50

Salut,
Je ne sais pas pourquoi cela ne marche pas, en tout cas sans messages d'erreur ni données.
En tout cas, tu peux faire comme ça :

data bidon :

Code : Tout sélectionner

test <- data.frame(a = 1:10 , b= letters[1:10])
df
    a b
1   1 a
2   2 b
3   3 c
4   4 d
5   5 e
6   6 f
7   7 g
8   8 h
9   9 i
10 10 j


Code : Tout sélectionner

num.lignes2 <- matrix(sample(40,30), ncol = 3)
num.lignes2
      [,1] [,2] [,3]
 [1,]   27   37   33
 [2,]   34   22    8
 [3,]   21   13   20
 [4,]   35   24   12
 [5,]    5   10   40
 [6,]   26    3   30
 [7,]   28   23   17
 [8,]    2    9   29
 [9,]    6   14    4
[10,]   18   11    1


Et enfin :

Code : Tout sélectionner

test$resultat <- ifelse(test[,1] %in% num.lignes2[,1], 9, 0) ## penser à modifier le numéro de colonnes de test
test
    a b resultat
1   1 a        0
2   2 b        9
3   3 c        0
4   4 d        0
5   5 e        9
6   6 f        9
7   7 g        0
8   8 h        0
9   9 i        0
10 10 j        0

marie-soleil fradette
Messages : 3
Enregistré le : 07 Juil 2017, 15:08

Re: Fonction match et if

Messagepar marie-soleil fradette » 07 Juil 2017, 16:00

WOWW!!
Merci beaucoup pour la rapidité et la simplicité!
Cela marche parfaitement :)


Retourner vers « Questions en cours »

Qui est en ligne

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