首页 > 解决方案 > 如何将不同长度的字符向量绑定到数据框中?

问题描述

我想将循环的输出绑定到数据帧中。

输出是这样的:

> dput(A)
c("u1", "u52", "u190", "u151", "u127", "u131", "u83", "u49", 
"u27", "u186", "u154", "u132")
> dput(B)
c("u2", "u42", "u49", "u132", "u27", "u52", "u48", "u53", "u131", 
"u83", "u54") 

我希望将A和B绑定成一个数据框,A和B为两行。但是,A 和 B 的长度不同,我不希望 R 回收值。

标签: r

解决方案


如果不想回收,则必须添加缺失值来扩展较短的向量:

d <- length(A) - length(B)
if(d > 0) B <- c(B, rep(NA, d))
if(d < 0) A <- c(A, rep(NA, abs(d)))
(AB <- rbind(A, B))
#   [,1] [,2]  [,3]   [,4]   [,5]   [,6]   [,7]  [,8]  [,9]   [,10]  [,11]  [,12] 
# A "u1" "u52" "u190" "u151" "u127" "u131" "u83" "u49" "u27"  "u186" "u154" "u132"
# B "u2" "u42" "u49"  "u132" "u27"  "u52"  "u48" "u53" "u131" "u83"  "u54"  NA    

推荐阅读