Dopo aver eseguito m1 <- lm(f1, data=DT)
Voglio salvare le osservazioni che sono incluse (come "obs < - complete.cases (m1)", ma qualcosa che funziona) così che posso eseguire una seconda regressione sulle stesse osservazioni: m2 <- lm(f2, data=DT[obs])
.R: Estrai casi completi/osservazioni incluse dal modello lineare o variabili formula
In alternativa, vorrei ottenere le osservazioni complete per un determinato insieme di variabili definito da un oggetto formula. Considera questo pseudocodice simile a R:
f1 <- as.formula("y ~ x1 + x2 + x3")
f2 <- as.formula("y ~ x1 + x2")
obs <- complete.cases(DT[,list(all.vars(f1)])
m2 <- lm(f2, data=DT[obs])
Come faccio? Nel primo caso, lm
esegue già il lavoro implicitamente; come posso estrarlo? Nel secondo, all.vars
restituisce un vettore di caratteri; come posso creare correttamente un elenco non quotato che DT (data.table) comprenderà?
'obs <- complete.cases (DT [, c (all.vars (f1)), con = FALSE])' –
Questo risponde alla mia domanda. Per inciso, 'obs <- complete.cases (DT [, all.vars (f1), with = FALSE])' funziona anche dal momento che 'all.vars' restituisce un vettore di caratteri. Ho provato il flag 'with' (' lista (f1), con = TRUE') ma non funziona. – rjturn
Poiché 'list' esegue una valutazione non standard all'interno dell'ambiente' data.table', il che significa che riceve nomi di variabili non quotate. –