如何将行与矩阵合并,并输出数据帧

时间:2015-04-02 04:27:33

标签: r dataframe rbind

作为初学者,我有一个非常基本的问题。当我使用data.frame函数将向量与矩阵合并时,向量始终合并为列。以这种方式,data.frame作为cbind函数工作,但是,数据的完整性,即类不会松散。我想知道如何在使用数据框功能时合并矩阵中的行?感谢

1 个答案:

答案 0 :(得分:1)

假设我们需要附加一个'向量'作为现有'矩阵的行?并输出为' data.frame',我们可以使用rbind

res <- rbind.data.frame(m1, v2)
res
#  V1 V2 V3 V4
#1  1  3  5  7
#2  2  4  6  8
#3  1  2  3  4

str(res)
#'data.frame':  3 obs. of  4 variables:
# $ V1: int  1 2 1
# $ V2: int  3 4 2
#$ V3: int  5 6 3
# $ V4: int  7 8 4

对于cbind,我猜你提到了这个:

data.frame(m1, v1)
#  X1 X2 X3 X4 v1
#1  1  3  5  7  1
#2  2  4  6  8  2

假设我们有一个&#39;字符&#39;向量(&#39; v3&#39;)和数字矩阵(&#39; m1&#39;),data.frame(m1, v3, stringsAsFactors=FALSE)将保留&#39; v3&#39;的类别。作为&#39;字符&#39;。但是,如果我们对类似的向量{&#39; v4&#39;}进行rbind.data.frame,则会将所有列转换为&#39;字符&#39;。

数据

 m1 <- matrix(1:8, ncol=4)
 v1 <- 1:2
 v2 <- 1:4
 v3 <- as.character(v1)
 v4 <- as.character(v2)