I am attempting to replicate the proposed solution to creating an adjacency matrix provided by UCLA IDRE https://stats.idre.ucla.edu/stata/code/creating-an-adjacency-matrix/
However, my replication efforts have been unsuccessful. The line below
Code:
id = .id
Code:
clear all
matrix drop _all
mata: mata clear
input id friend1 friend2 friend3 friend4 friend5
44006    45611    55610    74158    55898    .
45611    44006    45623    45621    74158    55898
45621    71643    45611    .    .    .
45623    59642    71643    45611    73452    55610
55610    45623    45611    44006    55898    71643
55898    74158    55610    45621    .    .
59642    55898    71643    45621    45611    74158
71643    55898    73452    59642    45611    44006
73452    71643    45623    .    .    .
74158    55898    45611    59642    45621    44006
end
mkmat friend*, mat(F)
mkmat id, mat(id)
scalar define n = _N
gen fid = _n
mata a = st_matrix("F")
id = st_matrix("id")
b = J(st_numscalar("n"), st_numscalar("n"), 0)
for(i = 1; i <= rows(a); i++) {
    for(j = 1; j <= cols(a); j++) {
        for(k = 1; k <= rows(id); k++) {
            if (st_data(k, "id") == a[i,j]) {
                b[i,k] = 1
            }
        }
    }
  }
 
c = id, b
id = .id
c = id'c
st_matrix("adj", c)
end
mat list adjThank you
0 Response to Issue creating adjacency matrix
Post a Comment