to pytanie jest związane z tym one, ale chcę utworzyć indeks przy użyciu unikalnej kombinacji dwóch kolumn data.frame. Więc moja struktura danych wygląda na przykład tak (dput):Utwórz indeks kombinacji kolumn data.frame w 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")
Utworzona Indeks do powyższej struktury powinny zatem wyglądać następująco
1
1
2
2
1
3
w przykładowych danych kolumna j_ID zawsze ma wartość P, ale nie zawsze tak jest. Ponadto kombinacje vice versa (S-P lub P-S) powinny dawać ten sam wskaźnik.
Ktoś wie, w jaki sposób można to osiągnąć? Mogę to zrobić za pomocą wielu pętli for i-else, ale to nie jest zbyt eleganckie.
> Ponadto odwrotnie (S-P-S lub P) powinno prowadzić do tego samego indeksu. – krlmlr
Nie widzę, aby to było zgodne z drugim ograniczeniem, że S-P i P-S mają ten sam indeks. –
Tak, rzeczywiście działa całkiem dobrze, jednak jak wspomniał Gavin, nie daje tego samego indeksu odwrotnie. – Curlew