各位前辈好~最近在写朋友关系的网络关系代码,用到stata的mata去写,但是有些问题。先附上我的代码:
- mata
- mata clear
- mata stata use "C:\Users\abc123\Desktop\network.dta",clear
- for g = 1(1)`group'{
- mata: st_view(id1=., ., "id1")
- mata: st_view(fid1=., ., "fid1")
- mata: st_view(fid2=., ., "fid2")
- mata: st_view(fid3=., ., "fid3")
- mata: ID=J(rows(id1),rows(id1),0)
- mata: w=J(rows(id1),rows(id1),0)
- mata: fid=(fid1, fid2, fid3)
- mata:{
- for (i=1; i<=rows(id1); i++) {
- for (j=1; j<=rows(id1); j++) {
- ID[i,j] =id1[j]
- for (k=1; k<=3; k++) {
- if(ID[i,j]==fid[i,k]) w[i,j]=1
- }
- }
- }
- }
- mata: st_matrix("w",w)
- mata clear
- mata: svmat double w, names(w)
- mata drop id1 fid1 fid2 fid3 fid4 fid5
- mata: outsheet using C:\Users\abc123\Desktop\network`g'.dat, nonames replace
- mata: local g = `g' + 1
- }
- end
- for g = 1(1)`group'{
- mata: svmat double w, names(w)
- mata drop id1 fid1 fid2 fid3 fid4 fid5
- mata: outsheet using C:\Users\samue\Desktop\network`g'.dat, nonames replace
- mata: local g = `g' + 1
- }
就是这六个报错,还请各位赐教。
- * Example generated by -dataex-. To install: ssc install dataex
- clear
- input int id1 float(group fid1 fid2 fid3)
- 10584 1 . 10566 10579
- 10568 1 10582 10564 10578
- 10583 1 . . .
- 10577 1 10574 10586 .
- 10579 1 10566 10581 10560
- 11056 1 . . .
- 10578 1 . . .
- 11089 1 . . .
- end
- * Example generated by -dataex-. To install: ssc install dataex
- clear
- input int id1 float(group fid1 fid2 fid3)
- 10589 2 10612 10591 10597
- 10607 2 10609 10611 10603
- 11090 2 . . .
- 11064 2 . . .
- 10588 2 . 10590 10605
- 10593 2 10605 10599 10613
- 10604 2 . . .
- 10613 2 10593 10605 10594
- 10599 2 10605 10593 10594
- 10612 2 10602 10609 10611
- 11066 2 . . .
- end
- * Example generated by -dataex-. To install: ssc install dataex
- clear
- input int id1 float(group fid1 fid2 fid3)
- 10278 3 10292 10299 .
- 10284 3 . . .
- 10286 3 10309 10303 .
- 10291 3 10285 10292 10289
- 10302 3 10279 10304 10310
- 10308 3 . 10292 10290
- 10300 3 10283 10292 10301
- 10310 3 10304 . 10284
- end


雷达卡



京公网安备 11010802022788号







