1

有 2 个向量,如下所示:

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

我想创建一个 data.frame 对象,其中 vec1 成为 data.frame 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)
4

2 回答 2

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
于 2013-04-02T12:45:45.000 回答
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
于 2013-04-02T12:47:56.627 回答