簡體   English   中英

R以特定順序合並數據幀

[英]R merge dataframes in specific order

我有三個大小相等的數據框,它們write.table特定的順序合並,以便隨后可以使用write.table制作格式化的文本文件,以供另一個程序使用。

我要這個:

dataframeA_col1 dataframeB_col1 dataframeC_col1 dataframeA_col2 dataframeB_col2 dataframeC_col2等...

不是這樣的:dataframeA_col1 dataframeA_col2 dataframeB_col1 dataframeB_col2

我開始寫下面的循環,但只能給出前三列。 如何解決此循環,或者有更好的方法嗎?

temp <- c()
for(i in length(dataframeA)){
temp <- cbind(temp, dataframeA[,i], dataframeB[,i], dataframeC[,i])
i <- i+1
}

當然,這是一種無循環方式:

dfA <- data.frame(col1 = 1:4, col2 = 1:4, col3 = 1:4)
dfB <- dfA
dfC <- dfA
colSeq <- c ( matrix(1 : (3*ncol(dfA)), 3, ncol(dfA), byrow = TRUE) )

其中colSeq是所需的列序列:

> colSeq
[1] 1 4 7 2 5 8 3 6 9 

現在使用此colSeq重新排列cbind(dfA,dfB,dfC)

> cbind(A = dfA, B = dfB, C = dfC)[, colSeq ]
  A.col1 B.col1 C.col1 A.col2 B.col2 C.col2 A.col3 B.col3 C.col3
1      1      1      1      1      1      1      1      1      1
2      2      2      2      2      2      2      2      2      2
3      3      3      3      3      3      3      3      3      3
4      4      4      4      4      4      4      4      4      4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM