use the following:
rbind(v1, v2=v2[seq(v1)])
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
v1 1 2 3 4 8 5 3 11
v2 9 5 2 NA NA NA NA NA
Why it works: Indexing a vector by a value larger than its length returns a value of NA at that index point.
#eg:
{1:3}[c(3,5,1)]
#[1] 3 NA 1
Thus, if you index the shorter one by the indecies of the longer one, you willl get all of the values of the shorter one plus a series of NA
's
A generalization:
v <- list(v1, v2)
n <- max(lengths(v))
# same:
# n <- max(sapply(v, length))
do.call(rbind, lapply(v, `[`, seq_len(n)))