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