Ho due tabelle e sto cercando di cercare i valori da uno per aggiungere valori nell'altro. Attualmente sto usando due loop per ma funzionano lentamente. Sono nuovo di R e so che dovrei evitare il loop per accelerare le cose, ma non riesco a capire come.Ricerca senza looping
Tabella1 (diverse migliaia di righe, 37 colonne):
type cat1 cat2 cat3 ... cat36 1 2 3 2 7 3 6 2 1 9 2 4 6 7 4 3 5 7 8 2 5 2 2 9 1 4 3 1 2 3 1 8 1 4 4 ...
Table2 (36 righe, 5 colonne):
type1 type2 type3 type4 type5 cat1 2 3 4 3 8 cat2 8 5 5 2 6 cat3 7 5 1 3 5 ... cat36 4 7 2 8 9
voglio modificare ciascun valore in Table1 aggiungendo il valore appropriato (abbinamento tra 5 tipi e 36 categorie) da Tabella2. Ecco i risultati desiderati:
type cat1 cat2 cat3 ... cat36 1 4 11 9 11 3 10 7 2 11 2 7 11 12 11 3 9 12 9 4 5 10 8 14 10 4 6 3 5 11 1 10 9 11 8 ...
ecco mio attuale codice (lenta):
for (i in 1:36) {
for (j in 1:nrow(Table1)) {
Table1[j,i+1] = Table1[j,i+1] + Table2[i,Table1[j,1]]
}
}
Sebbene abbia usato due anelli per chiarezza, io notare che ho potuto appena avuto un cappio attraverso le file di Tabella 1, aggiungendo la colonna appropriata Table2 a ogni riga Table1 . –