Così, ho un frame di dati con due fattori e una variabile numerica in questo modo:movimentazione combinazioni di fattori mancanti in R
>D
f1 f2 v1
1 A 23
2 A 45
2 B 27
.
.
.
così i livelli di f1 sono 1 e 2 e dei livelli di f2 sono A e B. Ecco la cosa, non c'è valore immesso per quando f1 = 1 e f2 = B (cioè D $ V1 [D $ f1 = 1 & D $ f2 = B] non c'è) in realtà questo dovrebbe essere zero.
Nel mio attuale quadro dati ho 11 livelli di f1 e quasi 150 livelli di f2 e ho bisogno di creare un'osservazione con v1 = 0 per ogni combinazione di f1 e f2 che manca nel mio frame di dati.
Come faccio a fare questo?
Grazie in anticipo,
Ian
@ user1443010 in quella linea, lo sto usando per evitare 'dat $ f1' e' dat $ f2'. Penso anche che chiarisca l'intenzione; usando * questo * oggetto, fai * quello *. Non c'è nulla di sbagliato in questo a livello di utente, ma c'è una penalità di efficienza in quanto R deve creare un nuovo ambiente con i contenuti dell'oggetto e richiede tempo. 'dat2 <- expand.grid (f1 = levels (dat $ f1), f2 = levels (dat $ f2))' sarebbe l'alternativa. Non puoi sempre lavorare le cose in un 'with()'; Non penso che la linea che sostituisce 'NA' possa essere facilmente trasformata in' with() ', ma potrei mancare qualcosa. –
fantastico! Grazie! ;) – maycca