Вы можете использовать cbind:
cbind(b, a[,-1])
# [,1] [,2] [,3] [,4]
#[1,] 1 5 7 4
#[2,] 3 6 7 5
Если вам нужно вставить середину большой матрицы (скажем, в столбце N), а не один конец, который вы можете использовать,
cbind(a[, 1:(N-1)], b, a[, (N+1):NCOL(a)])
Для обобщенной версии, которая работает везде, где вставка (начало, середина или конец), мы можем использовать
a <- matrix(1:10, nrow = 2)
b <- matrix(c(100, 100, 100, 100, 100, 100), nrow = 2)
N <- 6 # where we want to insert
NMAX <- NCOL(a) # the largest column where we can insert
cbind(a[, 0:(N-1)], b, {if(N<NMAX) a[,(N+1):NMAX] else NULL})