Ich möchte Spalten in meinem Ordner data.table xmit 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?
setcolorderVerschiebt die Spaltenzeiger ohne Arbeitsspeicher. Dieser Satz über die Verwendung eines Arbeitsspeichers, der so groß wie eine Spalte ist, istsetkeywirklich.