2017-03-04 1 views
0

Ich bin neu auf R, und ich versuche, dies herauszufinden.R, Datenrahmen Bestellung

Ich habe zwei Datenrahmen (DF1 und DF2), die ich gerade schon von CSV gelesen habe.

df1:     df2: 

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

Die Sache ist, dass ich einen neuen Datenrahmen mit nur einer Spalte mit den Informationen aus den beiden csv verschachtelten erstellen möchten. Etwas wie:

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

Ich würde wirklich die Hilfe schätzen.

Antwort

1

Hier ist eine weitere Option mit 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 

Or

data.frame(val = c(t(do.call(cbind, list(df1, df2))))) 
1

Eine Methode, um zwei Vektoren zu verschachteln, ist die Verwendung von rbind, um eine Matrix mit jedem Vektor als Zeile zu erstellen und dann die Matrix in einen Vektor umzuwandeln; Dieser Vektor wird abholen Elemente aus Reihen alternativ durch, wie Daten, die in einer Matrix gespeichert ist (durch Spalte):

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