Вот одна строка. Все векторизовано, петли не нужны.
matrix(sprintf("row %s column %s value %s",
rownames(A)[row(A)],
colnames(A)[col(A)], A),
nrow = nrow(A))
# [,1] [,2] [,3]
# [1,] "row a column k value 12" "row a column l value 10" "row a column m value 5"
# [2,] "row b column k value 5" "row b column l value 7" "row b column m value 6"
# [3,] "row c column k value 10" "row c column l value 9" "row c column m value 7"
# [,4]
# [1,] "row a column n value 12"
# [2,] "row b column n value 2"
# [3,] "row c column n value 9"
Используйте set.seed(47)
с A <- matrix(sample(1:12,12,T),ncol=4)
для репликации результатов.