questa domanda è in qualche modo correlata a questo one, tuttavia voglio creare un indice utilizzando una combinazione unica di due colonne data.frame. Così la mia struttura di dati sembra per esempio come questo (dput):Creare un indice di una combinazione di colonne data.frame in R
structure(list(avg = c(0.246985988921473, 0.481522354272779,
0.575400762275067, 0.14651009243539, 0.489308880181752, 0.523678968337178
), i_ID = c("H", "H", "C", "C", "H", "S"), j_ID = c("P", "P",
"P", "P", "P", "P")), .Names = c("avg", "i_ID", "j_ID"), row.names = 7:12, class = "data.frame")
L'indice creato per la struttura di cui sopra dovrebbe quindi apparire così
1
1
2
2
1
3
Nei dati esempio la colonna j_ID ha sempre il valore P, ma questo non è sempre il caso. Inoltre le combinazioni vice-versa (S-P o P-S) dovrebbero risultare nello stesso indice.
Qualcuno conosce un buon modo per farlo? Posso farlo con molti comandi for-loops e if-else, ma questo non è molto elegante.
> Inoltre viceversa (S-P o P-S) dovrebbe comportare lo stesso indice. – krlmlr
Non vedo che rispetterà l'altro vincolo che S-P e P-S hanno lo stesso indice. –
Sì, in effetti funziona abbastanza bene, tuttavia, come ha detto Gavin, non fornisce lo stesso indice vice versa – Curlew