Supponiamo di avere un vettore x<-c(1,2,NA,4,5,NA)
.Differenze tra vettori _including_ NA
applico un certo codice mitologico a quel vettore, che si traduce in un altro vettore, y<-c(1,NA,3, 4,10,NA)
Ora desidero scoprire in cui posiziona miei due vettori diversi, dove io reputo due NA
s come la stessa e uno NA
e un numero non NA
(ad esempio il secondo elemento dei due vettori di esempio).
In particolare, per il mio esempio, vorrei finire con un vettore che contiene c(2,3,5)
.
Per il mio caso d'uso, non mi accontento di un vettore di variabili logiche, ma ovviamente posso facilmente convertire (which
), quindi accetterò anche quello.
mi hanno alcune soluzioni come:
simplediff<-x!=y
nadiff<-is.na(x)!=is.na(y)
which(simplediff | nadiff)
Ma ci si sente come sto reinventare la ruota qui. Qualche opzione migliore?
sembra perfettamente ragionevole per me. –
Cos'è il codice mitologico? – James
@James: è come quel vecchio cartone animato con un mucchio di orribili equazioni in cima alla lavagna, poi la frase "il prossimo miracolo si verifica", seguita dall'equazione finale desiderata. –