I have similar data
df <- data.frame(city1=sample(c("Tokyo","New York","Los Angeles", "Mumbai", "Los Angeles", "Tokyo", "Shanghai", "Kolkata", "Los Angeles", "Tokyo")),
city2=sample(c("Tokyo","Tokyo","Tokyo","Tokyo","New York", "Tokyo",'Mumbai', "Los Angeles", "Kolkata", "Shanghai")),
city3=sample(c("Los Angeles", "Mumbai", "Shanghai", "New York", "Kolkata", "Los Angeles","Los Angeles","Shanghai","Los Angeles","Los Angeles")),
city4=sample(c("Los Angeles", "Kolkata", "Shanghai", "Kolkata", "Shanghai", "Los Angeles", "Tokyo", "Los Angeles", "Shanghai", "Tokyo")))
This gives me
df
city1 city2 city3 city4
1 Tokyo Mumbai Shanghai Shanghai
2 Kolkata Tokyo Mumbai Los Angeles
3 Mumbai Kolkata Kolkata Tokyo
4 Tokyo Tokyo Los Angeles Kolkata
5 Tokyo Tokyo Los Angeles Kolkata
6 New York Shanghai Shanghai Los Angeles
7 Los Angeles Tokyo New York Los Angeles
8 Shanghai New York Los Angeles Tokyo
9 Los Angeles Los Angeles Los Angeles Shanghai
10 Los Angeles Tokyo Los Angeles Shanghai
I want to create two adjacency matrices with following rules. In first matrix, number of connections between cities --from first column with rest of columns in all rows and return total connections in an adjacency matrix (one way-from first column to rest ones), and (2) In second matrix, number of connections between any two cities (two ways). Example of first matrix is similar to (need to have in all):
Kolkata Los Angeles Mumbai New York Shanghai Tokyo
Kolkata 0 1
Los Angeles 0 4
Mumbai 2 0
New York 0 1
Shanghai 0 1
Tokyo 2 2
Is there any way to do it easily. Would appreciate any help