2017-03-04 111 views
0

我是R新手,我試圖弄清楚這一點。R,數據幀順序

我有兩個數據幀(df1和df2),我剛剛從csv讀取。

df1:     df2: 

     val     val 
1  a1    1 a2 
2  b1    2 b2 
3  c1    3 c2 
4  d1    4 d2 

問題是,我想創建一個新的數據幀只有一列與來自兩個csv交錯的信息。就像:

 val 
1  a1 
2  a2 
3  b1 
4  b2 
5  c1 
6  c2 
7  d1 
8  d2 

我真的很感謝幫助。

回答

1

這裏是Map

data.frame(val = c(mapply(c, df1$val, df2$val))) 
# val 
#1 a1 
#2 a2 
#3 b1 
#4 b2 
#5 c1 
#6 c2 
#7 d1 
#8 d2 

或者

另一種選擇
data.frame(val = c(t(do.call(cbind, list(df1, df2))))) 
1

交錯兩個向量的一種方法是使用rbind創建一個矩陣,每個向量作爲一行,然後將矩陣轉換爲向量;該載體會拿起從行元件可替換地,由於數據如何被存儲在一個矩陣(通過柱):

data.frame(val = as.vector(rbind(df1$val, df2$val))) 

# val 
#1 a1 
#2 a2 
#3 b1 
#4 b2 
#5 c1 
#6 c2 
#7 d1 
#8 d2