Io uso il seguente data.frame come esempio:aggregata con na.action = na.pass dà risposta inaspettata
d <- data.frame(x=c(1,NA), y=c(2,3))
vorrei riassumere i valori di y dalla variabile x. Poiché non esiste un valore comune di x, mi aspetterei che l'aggregazione mi restituisca il dato originale.frame, dove NA è trattato come un gruppo. Ma l'aggregazione mi dà i seguenti risultati.
>aggregate(y ~ x, data=d, FUN=sum)
x y
1 1 2
ho letto la documentazione su come modificare le azioni predefinite di na.action, ma non sembra darmi qualcosa di significativo.
>aggregate(y ~ x, data=d, FUN=sum, na.action=na.pass)
x y
1 1 2
Cosa sta succedendo? Non riesco a capire cosa stia facendo na.pass in questo caso. C'è un'opzione per realizzare ciò che voglio in R? Qualsiasi aiuto sarebbe molto apprezzato.
Stai dicendo che stai considerando un valore 'NA' come una variabile di raggruppamento? Vuoi il 'NA' o no? (Non è chiaro perché stai anche usando 'na.rm = TRUE' come parte del tuo test .... – A5C1D2H2I1M1N2O1R2T1
Sì, voglio NA come gruppo – Sanias
La documentazione dice" Righe con valori mancanti in uno dei le variabili verranno omesse dal risultato. "Se non lo vuoi, devi ricodificare la tua variabile' by' o usare una funzione diversa per l'aggregazione – Roland