Мы можем либо преобразовать в data.frame
, а затем paste
с do.call
do.call(paste, c(as.data.frame(m1), sep=''))
#[1] "ab" "cd" "ef" "gh"
или менее эффективным вариантом будет apply
apply(m1, 1, paste, collapse = '')
С tidyverse
мы можем использовать reduce
с str_c
library(dplyr)
library(purrr)
library(stringr)
as_tibble(m1) %>%
reduce(str_c, sep="")
#[1] "ab" "cd" "ef" "gh"
Или, если есть только два столбца, извлечь столбцы по индексу и использовать paste0
paste0(m1[,1], m1[,2])
Или с помощью asplit
, разделите матрицу по столбцу на list
из vector
с и затем используйте do.call
do.call(paste, c(asplit(m1, 2), sep=''))