在R中组合两个数据

时间:2013-03-14 03:40:14

标签: r list vector concatenation

我不确定如何最好地描述这个,所以我只会告诉你。我有两个变量 答:

              ID
1             121
2             122
3             123
4             124
5             125
6             126
7             127
8             128
9             129

和B:

       var1     var2       var3 
1      57.1     116.5      73.0
2      38.1      15.8      22.7
3      84.2      99.2      72.2

我希望他们这样结束:

              ID
1             121   57.1
2             122   116.5
3             123   73.0
4             124   38.1
5             125   15.8
6             126   22.7
7             127   84.2
8             128   99.2
9             129   72.2

这有意义吗?我想维护原始变量并添加一个列,该列是另一个变量的行。我最喜欢这个作为数据框架。

提前感谢。

2 个答案:

答案 0 :(得分:5)

默认情况下,

data.frames和matrices被填充by column,因为你想要创建一个按行填充的数字向量,你需要在强制转换为数字变量之前转置data.frame,所以它将在你想要的订单。

A$value <- c(t(B))

转置data.frame会得到一个矩阵,该矩阵由c强制转换为数字向量。

答案 1 :(得分:2)

假设Bdata.frame,您可以执行以下操作:

cbind(A,var.name=as.vector(as.matrix(B)))

您可以传递新的列名而不是var.name