Les posteurs les plus actifs de la semaine
c@ssoulet
changement de nom dans R Vote_lcapchangement de nom dans R Voting_barchangement de nom dans R Vote_rcap 


changement de nom dans R

Aller en bas

changement de nom dans R Empty changement de nom dans R

Message par sh le Mar 19 Avr 2011 - 12:39

Bonjour Tout le monde,

j'ai une matrice x dont la 6eme colonne est qualitative (origine des sujet) , et j'aimerai remplacer dans x par ex
Europe<-1
Asie<-2

et ainsi de suite
quelle commende utiliser??"
merci à toute personne qui s'intéresse à ma question

sh

Nombre de messages : 24
Date d'inscription : 13/04/2011

Revenir en haut Aller en bas

changement de nom dans R Empty Re: changement de nom dans R

Message par Hadrien35 le Mar 19 Avr 2011 - 12:58

J'ai tendance à faire ce qu'il ne faut pas faire dans R (je ne fais pas de calcul matriciel) mais tu peux tenter un truc comme ça:

Code:
Dataset[,6] <- as.factor(Dataset[,6])
nbligne<-dim(Dataset)[1]
for (i in 1:nbligne )
{
        if (Dataset[i,6]==1)
      {
            Dataset[i,6]<- "Europe"
      }
      else
      {
            if (Dataset[i,6]==2)
            {
                  Dataset[i,6]<- "Asie"
            }
      }
}

Et ainsi de suite.
C'est en général ce qu'il ne faut pas faire, car R est fait pour le calcul matriciel, mais perso je le fais pour les petits fichiers. Sinon il existe une fonction factor() qui fait ça il me semble, à vérifier.

Ou bien, pour ne pas te prendre la tête, tu le fais sous le package Rcmdr.

Hadrien35

Nombre de messages : 166
Date d'inscription : 31/03/2011

Revenir en haut Aller en bas

changement de nom dans R Empty Re: changement de nom dans R

Message par A.D. le Mar 19 Avr 2011 - 13:04

Bonjour,

Moi aussi mon premier réflexe est, comme Hadrien35, de passer par des boucles (shame on me Evil or Very Mad ).
Cela dit, on peut faire cela un peu plus "proprement", car s'il y a beaucoup de modalités pour la variable, cela va faire beaucoup de "if else". Pour cela, on peut avoir recours à la commande "which".

Petit exemple :

Code:
v<-c("Europe","Asie","Afrique")

u<-sample(v,20,replace=TRUE)
u
 [1] "Afrique" "Afrique" "Europe"  "Europe"  "Asie"    "Europe"  "Europe"
 [8] "Asie"    "Afrique" "Asie"    "Asie"    "Afrique" "Europe"  "Asie" 
[15] "Asie"    "Asie"    "Europe"  "Asie"    "Europe"  "Europe"


for(i in 1:length(u))
{
   for(k in 1:length(v))
   {
      u[which(u==v[k])]<-k
   }
}

u<-as.numeric(u)
u
 [1] 3 3 1 1 2 1 1 2 3 2 2 3 1 2 2 2 1 2 1 1

Cela dit, il serait fort possible qu'il existe une fonction déjà prévu pour ce genre de procédure, mais là je ne vois pas...

Bonne continuation Smile


Cordialement,

A.D.

A.D.

Nombre de messages : 305
Age : 31
Localisation : Nantes
Date d'inscription : 02/12/2009

http://www.dacta.fr

Revenir en haut Aller en bas

changement de nom dans R Empty Re: changement de nom dans R

Message par A.D. le Mar 19 Avr 2011 - 13:11

Je viens de voir qu'on peut aussi avoir recours à la fonction "factor" comme le suggère Hadrien35.

Par exemple, si on reprend mon exemple précédent et qu'on veut :

  • Europe <- 1
  • Asie <- 2
  • Afrique <- 3


On peut procéder comme suit :

Code:
v<-c("Europe","Asie","Afrique")
u<-sample(v,20,replace=TRUE)
u
 [1] "Europe"  "Asie"    "Afrique" "Asie"    "Asie"    "Europe"  "Afrique"
 [8] "Europe"  "Europe"  "Asie"    "Europe"  "Asie"    "Europe"  "Asie" 
[15] "Afrique" "Afrique" "Asie"    "Asie"    "Afrique" "Afrique"

u<-factor(u,labels=c(3,2,1))
u
 [1] 1 2 3 2 2 1 3 1 1 2 1 2 1 2 3 3 2 2 3 3
Levels: 3 2 1

Bien faire attention au fait que le paramètre "labels" affectera les éléments qui le composent aux modalités de u mais dans l'ORDRE ALPHABETIQUE !

Bonne continuation Smile


Cordialement,

A.D.

A.D.

Nombre de messages : 305
Age : 31
Localisation : Nantes
Date d'inscription : 02/12/2009

http://www.dacta.fr

Revenir en haut Aller en bas

changement de nom dans R Empty Re: changement de nom dans R

Message par sh le Mar 19 Avr 2011 - 13:17

merci pour votre aide à tous les 2

s.h

sh

Nombre de messages : 24
Date d'inscription : 13/04/2011

Revenir en haut Aller en bas

changement de nom dans R Empty Re: changement de nom dans R

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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