m <- matrix(c(20, 70, 10, 80, 10, 10, 60, 10, 30), 3, 3, dimnames = list(c("Water","Trees","Building"), c("Water","Trees","Building")))
library(tidyverse)
m %>%
as.data.frame.table %>%
summarize(
group = paste(Var1, Var2, sep = "-"),
Value = Freq
) %>%
column_to_rownames("group") %>%
as.matrix # if you want the output to be a matrix again
Value
Water-Water 20
Trees-Water 70
Building-Water 10
Water-Trees 80
Trees-Trees 10
Building-Trees 10
Water-Building 60
Trees-Building 10
Building-Building 30
num [1:9, 1] 20 70 10 80 10 10 60 10 30
- attr(*, "dimnames")=List of 2
..$ : chr [1:9] "Water-Water" "Trees-Water" "Building-Water" "Water-Trees" ...
..$ : chr "Value"