2017-04-04 3 views
0

J'ai une trame de données, dat, avec 214 lignes de données. Chaque ligne contient ces variables: Espèces et Mode soit rouge ou vert. J'ai trié les données par Espèces. Je voudrais créer une variable d'index numérique où si le mode est rouge puis index = 0 sinon index = 1.Variable d'index R réduite au nombre de groupes uniques

En outre, l'index, de telle sorte que, s'il y a 5 speciesA, rouge et 7 de speciesB, vert ne peut être aussi longue que le nombre unique d'espèces qui existent (N = 72) qui est un rouge espèces, puis row 1 = 0 et row 2 = 1 et ainsi de suite. Voici le code que je l'ai essayé jusqu'à présent:

index <- for (q in 1:unique(species)) { 
     ifelse(mode[q]=='red',0,1) 
} 
+0

Merci à tous ceux qui m'ont aidé via pm. –

Répondre

0
index <- as.numeric(factor(my_dataframe$mode)) 

Un facteur, sous le capot, est stocké sous forme d'entier. Donc la conversion du facteur en index numérique est de 1 à 1.