Computer Science, asked by rakeshabdg, 2 months ago

I want to create m x n adjacency matrix on R platform

Answers

Answered by skpillai636
1

Answer:

Explanation:

In base R, we can use table :

vals <- unlist(mydf[-ncol(mydf)])

table(factor(rep(mydf$source, ncol(mydf) - 1), levels = unique(vals)), vals)

#  vals

#    a b c d e g I z

#  a 4 2 1 3 0 0 0 0

#  b 5 1 3 0 1 0 0 0

#  g 0 0 0 0 0 0 0 0

#  c 1 1 2 1 0 0 0 0

#  d 1 2 3 2 1 0 0 1

#  e 0 2 1 3 2 1 1 0

#  I 0 0 0 0 0 0 0 0

#  z 0 0 0 0 0 0 0 0

In tidyverse we can do :

library(dplyr)

library(tidyr)

mydf %>%

 pivot_longer(cols = -source) %>%

 count(source, value) %>%

 pivot_wider(names_from = value, values_from = n) %>%

 complete(source = names(.)[-1]) %>%

 mutate_all(~replace_na(., 0))

Similar questions