Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Faire un rechercheV sur R
2 participants
Page 1 sur 1
Faire un rechercheV sur R
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
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
Re: Faire un rechercheV sur R
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 :
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
Re: Faire un rechercheV sur R
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.
Les 2 fichiers de données sont des matrices.
Re: Faire un rechercheV sur R
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):
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
Re: Faire un rechercheV sur R
Merci de ta réponse, j'ai réussi avec la fonction match().
- Code:
new=D1$2[match(D2,D1$1)]
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum