Example 1: r cbind vectors of unequal length
vector_1 <- c("a","b","c")
vector_2 <- c("d","e","f", "g")
vector_3 <- c("h","i","j", "k", "l")
n = max(length(vector_1), length(vector_2), length(vector_3))
length(vector_1) = n
length(vector_2) = n
length(vector_3) = n
cbind(vector_1, vector_2, vector_3)
vector_1 vector_2 vector_3
[1,] "a" "d" "h"
[2,] "b" "e" "i"
[3,] "c" "f" "j"
[4,] NA "g" "k"
[5,] NA NA "l"
rbind(vector_1, vector_2, vector_3)
[,1] [,2] [,3] [,4] [,5]
vector_1 "a" "b" "c" NA NA
vector_2 "d" "e" "f" "g" NA
vector_3 "h" "i" "j" "k" "l"
qpcR:::cbind.na()
install.packages("qpcR")
library(qpcR)
col1 <- c("a","b","c")
col2 <- c("d","e","f", "g")
col3 <- c("h","i","j", "k", "l")
cbind(col1, col2, col3)
col1 col2 col3
[1,] "a" "d" "h"
[2,] "b" "e" "i"
[3,] "c" "f" "j"
[4,] "a" "g" "k"
[5,] "b" "d" "l"
qpcR:::cbind(col1, col2, col3)
col1 col2 col3
[1,] "a" "d" "h"
[2,] "b" "e" "i"
[3,] "c" "f" "j"
[4,] NA "g" "k"
[5,] NA NA "l"
Example 2: cbind vectors of different lengths r
bind.pad <- function(l, side="r", len=max(sapply(l,length)))
{
if (side %in% c("b", "r")) {
out <- sapply(l, 'length<-', value=len)
} else {
out <- sapply(sapply(sapply(l, rev), 'length<-', value=len, simplify=F), rev)}
if (side %in% c("r", "l")) out <- t(out)
out
}