Ecco un data.table:R: Forza data.table per calcolare tutte le interazioni
dat = data.table(var1=rnorm(120), var2=rep(c('a','b','c'),40), var3=rep(c(1,2,3,2,1,2,1,2,2,3,1,2),10))
dat2 = dat[,list(resp = mean(var1)),by=list(var2, var3)]
In dat2
, interazioni solo esistenti di dat$var2
et dat$var3
sono presenti. Come posso forzare dat2
per contenere i risultati per tutte le 9 possibili interazioni (invece delle 7 righe di dat2
) per var2
e var3
? Se non ci sono soluzioni dirette con data.table, qual è il modo più semplice per risolvere questo problema?
table(dat$var2, dat$var3)
1 2 3
a 20 10 10
b 20 20 0
c 0 30 10
Naturalmente, per le interazioni in cui non esistono dati in dat
, dat2
dovrebbe contenere NA in resp.
Perché non fare solo 'data.table (...)' invece di 'as.data.table (data.frame (...))'? – Arun
Nessun motivo, è stato stupido! L'ho riparato! Grazie –