Ich möchte Spalten in meinem Ordner data.table
x
mit einem Zeichenvektor aus Spaltennamen neu anordnen neworder
:
library(data.table)
x <- data.table(a = 1:3, b = 3:1, c = runif(3))
neworder <- c("c", "b", "a")
Natürlich könnte ich tun:
x[ , neworder, with = FALSE]
# or
x[ , ..neworder]
# c b a
# 1: 0.8476623 3 1
# 2: 0.4787768 2 2
# 3: 0.3570803 1 3
Dafür müsste jedoch der gesamte Datensatz erneut kopiert werden. Gibt es einen anderen Weg, dies zu tun?
setcolorder
Verschiebt die Spaltenzeiger ohne Arbeitsspeicher. Dieser Satz über die Verwendung eines Arbeitsspeichers, der so groß wie eine Spalte ist, istsetkey
wirklich.