我有兩個相同的數據幀。相同的列和行標題。一個有相關性,一個有p值。我想以交錯的方式合併這兩個表,所以第一列是相關性,下一個p值,下一個相關性等。合併與交錯數據幀在r
所以如果表1的列是A1,A2,A3 ...和表2是B1,B2,B3 ...我想結束表是A1,B1,A2,B2,A3,B3 ....
我試過cbind,但是這把所有相關列首先是所有的p值列。沒有交錯。
我想知道是否有簡單的方法。
感謝您的幫助!
我有兩個相同的數據幀。相同的列和行標題。一個有相關性,一個有p值。我想以交錯的方式合併這兩個表,所以第一列是相關性,下一個p值,下一個相關性等。合併與交錯數據幀在r
所以如果表1的列是A1,A2,A3 ...和表2是B1,B2,B3 ...我想結束表是A1,B1,A2,B2,A3,B3 ....
我試過cbind,但是這把所有相關列首先是所有的p值列。沒有交錯。
我想知道是否有簡單的方法。
感謝您的幫助!
你得到了第一步權,這是cbind
ing。假設您的數據幀爲d1
,其中第n列爲A1, A2, ...,An
和d1
,第n列爲B1, B2, ..., Bn
。然後d <- cbind(d1, d2)
會給你包含你想要的所有信息的數據框,而你只需要重新排列它的列。這相當於生成向量(1,(n + 1),2,(n + 2),...,n,2n)以索引數據幀列。你可以這樣做s <- rep(1:n, each = 2) + (0:1) * n
。最後,你想要的數據幀是d[s]
。
出色地工作 - 非常感謝! – user3801778
此外,如果尺寸是相同的,創建索引
rbind(colnames(dataframe1), colnames(dataframe2))
例如:
set.seed(1)
d1 <- setNames(as.data.frame(matrix(sample(1:10,20, replace=T),5,5)), paste0("A",1:5))
d2 <- setNames(as.data.frame(matrix(sample(1:10,20, replace=T),5,5)), paste0("B",1:5))
d <- cbind(d1,d2)
indx <- rbind(names(d1),names(d2))
d[,indx]
# A1 B1 A2 B2 A3 B3 A4 B4 A5 B5
#1 3 10 9 4 3 5 5 7 3 10
#2 4 3 10 1 2 6 8 8 4 3
#3 6 7 7 4 7 5 10 2 6 7
#4 10 2 7 9 4 2 4 8 10 2
#5 3 3 1 4 8 9 8 5 3 3
[本Q/A](http://stackoverflow.com/questions/16443260/interleave-lists-in-r)應該是有幫助的。 –