Se gruppo: utilizzando la parola chiave by
in data.table, restituisce sempre la colonna by
come prima colonna. C'è una bandiera/opzione per dirgli di non farlo? O un modo intelligente per liberarsene?Esiste un modo per non restituire la colonna `by` come prima colonna in un raggruppamento data.table
In particolare voglio gruppo e poi rbindlist
al mio tavolo originale, in modo infatti il problema potrebbe anche dire come - "come fermarlo riordinare le colonne"
Per esempio:
DT = data.table(I = as.numeric(1:6), N = rnorm(6), L = rep(c("a", "b", "c"), 2))
DT[, list(I = mean(I), N = mean(N)), by= L]
DT
dà:
> DT[, list(I = mean(I), N = mean(N)), by= L]
L I N
1: a 2.5 0.4291802
2: b 3.5 0.6669517
3: c 4.5 -0.6471886
> DT
I N L
1: 1 1.8460998 a
2: 2 0.7093438 b
3: 3 -1.7991193 c
4: 4 -0.9877394 a
5: 5 0.6245596 b
6: 6 0.5047421 c
per quanto riguarda la richiesta di rbindlist
va, sarebbe bello essere in grado di fare questo:
DT = rbindlist(list(DT, DT[, list(I = mean(I), N = mean(N)), by= L]))
o forse
DT = rbindlist(list(DT, DT[, list(I = mean(I), N = mean(N), L), by= L]))
o qualcosa di simile (nessuno dei quali lavoro)
(+1) Mi piacerebbe molto che le colonne vengano restituite nello stesso ordine! – Arun
Carone, @Arun, ok +1 ora aggiunto a [FR # 1757] (https://r-forge.r-project.org/tracker/?group_id=240&atid=978&func=detail&aid=1757). –
@MatthewDowle, grazie per aver aggiunto questa funzionalità all'elenco delle cose da fare. – Arun