我想排序兩列到我的data.table(id和時間在我的情況)的前面。說我有:R:只改變一些列的data.table中的列順序
library(data.table)
Data <- as.data.table(iris)
,說我想要的列的順序是:
example <- Data
setcolorder(example,c("Species","Petal.Length","Sepal.Length",
"Sepal.Width","Petal.Length","Petal.Width"))
但我的實際數據表有更多的變數,所以我想ADRESS此爲:
setcolorder(Data,c("Species","Petal.Length",
names(Data)[!c("Species","Petal.Length")]))
:
setcolorder(Data, c("Species","Petal.Length",
...all other variables in their original order...))
我喜歡的東西發揮各地
但我有一個問題,通過名稱引用對字符向量名稱(Data)進行子集化。另外我敢肯定,我可以用一些整潔的data.table函數來避免這種解決方法,不是嗎?
啊,是的,謝謝!這使解決方法工作。我會接受你的答案,如果沒有data.table解決方案彈出(我的意思是,我們必須創建一個所有名稱的矢量首先看起來有點不典型,不?)的事實 –
你需要創建這個向量的名稱,編程沒有魔法。 –
好吧,你不需要'魔術'。在這裏你會在Stata中做什麼:「order Species Petal.Length」和我雖然data.table可能有一些類似的語法。但仍然感謝排除,我接受了答案。 –