Jeśli grupuję - używając słowa kluczowego by
w data.table, zawsze zwraca ona kolumnę by
jako pierwszą kolumnę. Czy jest flaga/opcja, aby powiedzieć, żeby tego nie robić? Lub sprytny sposób na pozbycie się tego?Czy istnieje sposób, aby nie zwracać kolumny 'by` jako pierwszej kolumny w tabeli data.table
W szczególności chcę grupy, a następnie rbindlist
do mojej oryginalnej tabeli, więc to rzeczywiście problem może również powiedzieć, jak - „jak go zatrzymać zmiany kolejności kolumn”
na przykład:
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
daje:
> 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
ile wniosek rbindlist
idzie, byłoby miło, aby móc to zrobić:
DT = rbindlist(list(DT, DT[, list(I = mean(I), N = mean(N)), by= L]))
czy może
DT = rbindlist(list(DT, DT[, list(I = mean(I), N = mean(N), L), by= L]))
lub coś podobnego (z których żadna praca)
(+1) Mogę * naprawdę * polubić dla kolumn, które zostaną zwrócone w tej samej kolejności, jak również! – Arun
Carone, @Arun, ok +1 został dodany do [FR # 1757] (https://r-forge.r-project.org/tracker/?group_id=240&atid=978&func=detail&aid=1757). –
@MatthewDowle, dzięki za dodanie tej funkcji do listy zadań. – Arun