我是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
我真的很感激帮助。
答案 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)))))