Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

Faire un rechercheV sur R

2 participants

Aller en bas

Faire un rechercheV sur R Empty Faire un rechercheV sur R

Message par damgui Ven 8 Mar 2013 - 14:15

Bonjour,
Voila mon problème, j'ai un fichier avec 2 colonnes de noms (donnees1) et un autre avec une base de données (donnees2). Je voudrais que les noms donnees2 changent pour les noms de donnees1.
En fait je voudrais faire un recherchev comme sous excel.
la fonction serait : je regarde le nom de donnees2 si c'est le même que la première colonne de donnees1 alors ils changent pour la 2nde colonne de donnees1.
J'espère être clair et merci pour vos réponses

damgui

Nombre de messages : 39
Age : 34
Date d'inscription : 14/06/2012

http://www.apprenti-webmarketeur.com

Revenir en haut Aller en bas

Faire un rechercheV sur R Empty Re: Faire un rechercheV sur R

Message par Bubble Ven 8 Mar 2013 - 16:11

Bonjour, la base de données (donnees2), c'est une matrice ? Pour savoir si les noms sont accessibles avec colnames().

Dans ce cas, j'écrirais quelque chose de brut comme :

Code:
colnames(donnees2)[colnames(donnees2)==donnees1[,1]]=donnees1[colnames(donnees2)==donnees1[,1],2]

Bubble

Nombre de messages : 2
Date d'inscription : 08/03/2013

Revenir en haut Aller en bas

Faire un rechercheV sur R Empty Re: Faire un rechercheV sur R

Message par damgui Ven 8 Mar 2013 - 16:17

Je me suis mal exprimé ceux ne sont pas des noms mais des modalités de variables.
Les 2 fichiers de données sont des matrices.

damgui

Nombre de messages : 39
Age : 34
Date d'inscription : 14/06/2012

http://www.apprenti-webmarketeur.com

Revenir en haut Aller en bas

Faire un rechercheV sur R Empty Re: Faire un rechercheV sur R

Message par Bubble Ven 8 Mar 2013 - 16:53

Ah okay, c'est une recherche sur une matrice entière.
Bon, je connais pas de fonction appropriée, j'espère que la matrice est pas trop lourde, voilà une possibilité avec boucle for (D1 pour donnees1 et D2 pour donnees2):

Code:
 U=D2[which(is.element(D2,D1[,1]))]
 for(i in 1:length(U)){U[i]=D1[which(U[i]==D1[,1]),2]}
 D2[which(is.element(D2,D1[,1]))]=U

Bubble

Nombre de messages : 2
Date d'inscription : 08/03/2013

Revenir en haut Aller en bas

Faire un rechercheV sur R Empty Re: Faire un rechercheV sur R

Message par damgui Lun 11 Mar 2013 - 9:26

Merci de ta réponse, j'ai réussi avec la fonction match().

Code:
new=D1$2[match(D2,D1$1)]

damgui

Nombre de messages : 39
Age : 34
Date d'inscription : 14/06/2012

http://www.apprenti-webmarketeur.com

Revenir en haut Aller en bas

Faire un rechercheV sur R Empty Re: Faire un rechercheV sur R

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum