Sto usando R, e ho due data.frames, A
e B
. Entrambi hanno 6 righe, ma A
ha 25000 colonne (geni) e B
ha 30 colonne. Mi piacerebbe applicare una funzione con due argomenti f(x,y)
dove x
è ogni colonna di A
e è ogni colonna di B
. Finora sembra che questo:Applicare su due frame di dati
i = 1
for (x in A){
j = 1
for (y in B){
out[i,j] <- f(x,y)
j = j + 1
}
i = i + 1
}
Ho due problemi con questo: dalla mia programmazione Python associo tenere traccia dei contatori come questo come crufty, e dal mio programmazione R Io sono nervoso per i cicli. Tuttavia, non riesco a vedere come applicare apply
(o anche se dovrei applicare apply
) a questo problema e speravo che qualcuno potesse illuminarmi. Ho bisogno di trattare f()
come atomico (in realtà è cor.test()
) per ora.
A seconda di 'f', sembra simile al prodotto interno. So che con il prodotto esterno è possibile specificare una funzione da utilizzare, ma non so come farlo per il prodotto interno. – James
Esito a suggerire qualsiasi cosa poiché sono un utente R molto nuovo, ma ho avuto un buon successo usando il pacchetto plyr per la manipolazione dei dati. http://had.co.nz/plyr/ – dnagirl