OK, ho due elenchi con nome, uno è "previsto" e uno è "osservato". Possono essere di struttura complessa, con tipi di dati arbitrari. Voglio ottenere una nuova lista contenente solo quegli elementi della lista osservata che sono diversi da quelli che sono nella lista prevista. Ecco un esempio:come faccio a ottenere la differenza tra due elenchi con nome R?
Lexp <- list(a=1, b="two", c=list(3, "four"))
Lobs <- list(a=1, c=list(3, "four"), b="ni")
Lwant <- list(b="ni")
Lwant è ciò che voglio che il risultato sia. Ho provato questo:
> setdiff(Lobs, Lexp)
[[1]]
[1] "ni"
No, che perde il nome, e non credo che setdiff presta attenzione ai nomi. L'ordine chiaramente non ha importanza qui e non voglio che a = 1 corrisponda a b = 1.
Non sicuro quale sia un buon approccio ... Qualcosa che scorre su un elenco di nomi (Lobs)? Sembra goffo e non-R, anche se fattibile ... Hai qualche idea elegante?
Stavo solo usando la funzione% in% ieri per il debug e stavo per raccomandarlo. –