Ho un data.table
e voglio creare una nuova variabile in base a più condizioni in un'istruzione ifelse
ma quello che ottengo di conseguenza sembra essere strano.ifelse con condizioni multiple per la creazione di una nuova variabile in data.table R
Immaginiamo il seguente esempio semplificato.
DT <- data.table(replicate(2,sample(0:1,5,replace=TRUE)))
V1 V2
1: 1 0
2: 1 1
3: 1 1
4: 1 0
5: 0 1
Voglio creare una nuova variabile basata sulle variabili esistenti. Io uso la dichiarazione ifelse
come segue:
DT[, new.var := ifelse(V1 > 0, 1, 0)]
DT[, new.var.mult := ifelse(V1 > 0 && V2 > 0, 1, 0)]
Tuttavia, questo non funziona in caso di condizioni multiple. (Sono consapevole che questo compito potrebbe essere risolto facilmente senza condizione multipla ma il mio problema è più complicato.)
V1 V2 new_var new_var_multiple
1: 1 0 1 0
2: 1 1 1 0
3: 1 1 1 0
4: 1 0 1 0
5: 0 1 0 0
Quale potrebbe essere il problema?
Non avete bisogno di un 'ifelse' qui, basta fare' DT [, new_var_multiple: = (V1> 0 e V2> 0) + 0] ' –