मैं अपने कॉलमों को पुन: क्रमित करना चाहूंगा data.table
x
, जो कॉलम नाम के वर्ण वेक्टर दिए गए हैं neworder
:
library(data.table)
x <- data.table(a = 1:3, b = 3:1, c = runif(3))
neworder <- c("c", "b", "a")
जाहिर है मैं कर सकता था:
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
लेकिन पूरे डेटासेट को फिर से कॉपी करने की आवश्यकता होगी। क्या इसे करने का और कोई तरीका है?
setcolorder
किसी भी कार्यशील मेमोरी का उपयोग किए बिना कॉलम पॉइंटर्स को चारों ओर ले जाता है। एक स्तंभ के रूप में बड़े रूप में काम कर रहे स्मृति का उपयोग करने के बारे में वाक्यsetkey
वास्तव में है।