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 : -19%
PC portable MSI Gaming Pulse 16” -Ultra7 155H ...
Voir le deal
1299 €

changement de nom dans R

2 participants

Aller en bas

changement de nom dans R Empty changement de nom dans R

Message par sh 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 Invité 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.

Invité
Invité


Revenir en haut Aller en bas

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

Message par A.D. 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 : 36
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. 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 : 36
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 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