Attribuer un nom selon la valeur d'une variable

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

Patricia OBEID
Messages : 68
Enregistré le : 10 Avr 2017, 19:03

Attribuer un nom selon la valeur d'une variable

Messagepar Patricia OBEID » 13 Mai 2017, 06:49

Bonjour à tous,
je ne suis pas très à l'aise avec R voilà pourquoi je fait appel à vous. J'ai un dataframe avec entre autre intensité de fluo canal 2 et intensité de fluo canal 3. Je voudrais créer une nouvelle variable qui prendrait sa valeur en fonction de l'intensité de fluo dans les canaux 2 et 3.
Pour canal 2 > 220 et canal 3 <= 390 la valeur serait G
Pour canal 2 <= 220 et canal 3 > 390 la valeur serait Or
Pour canal 2 > 220 et canal 3 > 390 la valeur serait GOr
Je ne sais pas comment écrire tout cela ...
J'ai commencé avec :
pl_Nucl$couleur <- 0
for (i in 1:nrow(pl_Nucl)){
if (pl_Nucl$AvgIntenCh2 > 220)
names(pl_Nucl$couleur) <- G
}
Mais ça ne marche pas :-(
J'apprécierai votre aide.
Merci d'avance et bonne journée
Patricia

Eric Wajnberg
Messages : 776
Enregistré le : 11 Aoû 2008, 15:37
Contact :

Re: Attribuer un nom selon la valeur d'une variable

Messagepar Eric Wajnberg » 13 Mai 2017, 08:19

Je ne comprends pas trop à quoi ceci pourrait servir, et le nom d'une variable est le nom attribué à une variable, et reste donc - par définition - le même pour le data set en général. Je pense que vous vous compliquez la vie. Plutôt que de modifier le nom de la variable, pourquoi ne pas modifier son contenu en fonction des valeurs d'autres variables ? Ca devrait vous permettre de faire ce que vous voulez faire par la suite. Non ?

HTH, Eric.

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

Re: Attribuer un nom selon la valeur d'une variable

Messagepar Gabriel Terraz » 13 Mai 2017, 10:05

Salut,
Sous réserve d'avoir bien compris :

Jeu de données bidon :

Code : Tout sélectionner

df <- data.frame(cnl2 = sample(800, 10), cnl3 = sample(800,10))
df
   cnl2 cnl3
1   192  338
2   564  585
3   444  477
4   142  320
5    82  505
6   605  617
7   113  458
8   752  223
9    99  466
10  325  198


Nouvelle variable initialisée à rien du tout :

Code : Tout sélectionner

df$newvar <- character(10)


On remplit cette variable selon tes conditions :

Code : Tout sélectionner

df$newvar[df$cnl2 > 220 & df$cnl3 <= 390] <- "G"
df$newvar[df$cnl2 <= 220 & df$cnl3 > 390] <- "Or"
df$newvar[df$cnl2 > 220 & df$cnl3 > 390] <- "GOr"


Ce qui donne :
df

Code : Tout sélectionner

   cnl2 cnl3 newvar
1   192  338       
2   564  585    GOr
3   444  477    GOr
4   142  320       
5    82  505     Or
6   605  617    GOr
7   113  458     Or
8   752  223      G
9    99  466     Or
10  325  198      G

Patricia OBEID
Messages : 68
Enregistré le : 10 Avr 2017, 19:03

Re: Attribuer un nom selon la valeur d'une variable

Messagepar Patricia OBEID » 14 Mai 2017, 15:43

Bonsoir Gabriel,
C'est tout à fait ça.
Merci beaucoup de ton aide.
Bonne soirée
Patricia


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot], Maxime Deniaux et 1 invité