2013-02-12 20 views

答えて

7

したい列を追加し、それらを並べ替えることであろう最も簡単な方法:

dat$B <- 1:5 
newdat <- dat[, c("A", "B", "C", "D")] 

別の方法:

newdat <- cbind(dat[1], B=1:5, dat[,2:3]) 

を使用すると、オーバーヘッド、おそらくdata.tableソリューションを懸念している場合は? (this answerからの助けを借りて):

library(data.table) 
dattable <- data.table(dat) 
dattable[,B:=1:5] 
setcolorder(dattable, c("A", "B", "C", "D")) 
+1

の場合、データ・フレームに何百もの変数がある場合はオーバーヘッドが大きくなります。 – Diegoal

+0

正確には私のデータ・フレームは巨大です。 。また、私のデータフレームは時々変更されるかもしれませんので、特定の番号の付いた位置を参照したくありません –

+0

特定の番号の付いた位置を望んでいない場合は、どのように配置するのかをどのように知っていますか? –

0
dat$B <- 1:5 
ind <- c(1:which(names(data) == "A"),ncol(data),(which(names(data) == "A")+1):ncol(data)-1) 
data <- data[,ind] 

列の順序を変更する方法のシグナリングインジケータベクターを用いて、次にdata.frameの終わりに変数を作成し。 indは数字のベクトルです

関連する問題