R,数据帧顺序

时间:2017-03-04 22:32:49

标签: r csv dataframe

我是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

我真的很感激帮助。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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)))))