Ho un data.table
con una colonna logica. Perché il nome della colonna logica non può essere utilizzato direttamente per l'argomento i
? Guarda l'esempio.Sottoinsieme data.table tramite colonna logica
dt <- data.table(x = c(T, T, F, T), y = 1:4)
# Works
dt[dt$x]
dt[!dt$x]
# Works
dt[x == T]
dt[x == F]
# Does not work
dt[x]
dt[!x]
(+1) uso interessante della funzione 'forza'. Come funziona 'force' in questo caso? Come altera ambiente/ambito? – Nishanth
Un po 'più informazioni su _why_ [qui] (http://r.789695.n4.nabble.com/Indexing-by-a-logical-column-tp4665153p4665142.html). –
'force' fondamentalmente impedisce che venga interpretato come una singola variabile (questo viene fatto con un po 'di calcolo sulla chiamata all'interno di' [.data.table') 'force' quindi forza la valutazione di' x', che restituirà 'x' all'interno dello scope data.table. – mnel