将列添加到R中的data.frame

时间:2013-04-02 12:40:10

标签: r

有2个向量,如下所示:

vec1<-c("x", "y")
vec2<-c(rep(0, 5))

我想创建一个data.frame对象,其中vec1成为data.frame DF的第1列DF和vec2也成为具有列名的行。在视觉上说话,可能是这样的。

 vec1  1   2   3   4   5
 x     0   0   0   0   0
 y     0   0   0   0   0

我尝试了以下代码,但它将两个向量添加为列:

 DF<-data.frame(vec1, vec2)

2 个答案:

答案 0 :(得分:2)

您可以生成整个矩阵,然后使用data.frame将其绑定到第一个矢量,而不是为行生成矢量。像这样:

mat <- matrix(0, nrow=2, ncol=5)
vec <- c("x","y")
data.frame(vec, mat)

给出了:

  vec X1 X2 X3 X4 X5
1   x  0  0  0  0  0
2   y  0  0  0  0  0

答案 1 :(得分:1)

您可以使用rbind()函数中的data.frame()vec2值放入新数据框的两行中。

vec1<-c("x", "y")
vec2<-c(rep(0, 5))
data.frame(vec1,rbind(vec2,vec2))

  vec1 X1 X2 X3 X4 X5
1    x  0  0  0  0  0
2    y  0  0  0  0  0