Download


Files
You can download either the 32-bit or 64-bit version of UCINET. The 32-bit version is the standard version and runs on both 32-bit and 64-bit Windows. The 64-bit version is limited in that it does not have all of the functions of the 32-bit version. Therefore, it is best used in tandem with the 32-bit version.

32-bit Installation Package. This installs the 32-bit version of UCINET along with several helper programs (such as NetDraw), and puts a copy of all the standard datasets in a folder called Ucinet Data under your Documents folder. It runs on 64-bit and 32-bit Windows. The installation program is new as of version 6.531 and unfortunately can't automatically uninstall versions of UCINET prior to 6.531, so you should do that yourself prior to installing current version.

64-bit installation package. This is NOT recommended. If you have a 64-bit version of Windows, you can try this 64-bit version of UCINET. It lets you analyze much larger datasets, if you have the RAM memory for it. However, it is also flaky. Older parts of UCINET are not compatible with 64-bit execution, so these parts will crash. 

Trial vs "real" version. Actually, there is no separate trial version. If you download the program, it will run on your computer for 60 days without having to enter a registration code. Buying the program gets you that registration code. So whether you buy or just try, you download the same program.

Virus/malware issues. There was a time when the download files were stored in a DropBox location. For some reason, this caused Norton AntiVirus to flag the program as dangerous. So we don't use DropBox for this anymore. But you might still run into issues with Norton or some other anti-virus program when installing UCINET. One thing to be aware of is that Windows 8 will issue a warning that the publisher is unknown and probably dangerous. This just means we haven't sought (read: paid for) Microsoft certification.


Installation Notes

Windows

Installation works best if you right-click on the installation file (typically called something like setup32UCI6534.exe) and choose 'Run as Administrator'. Similarly, it is also helpful to use 'Run as Administrator' when running UCINET itself for the first time, as this allows you to register the program for all users of your machine. See the FAQ on this.

MAC

The best way to run UCINET on a Mac is to use a Windows emulator such as Parallels (or, of course, Bootcamp). However, it is (often) possible to run UCINET on a Mac using Wine. For more information, see this FAQ

Version Info

  • Version 6.610 | 25 April 2016
    • Fixed bug in matrix editor that was causing it to save matrices with more rows and columns than were actually present
    • (Also, a bug was fixed a few versions ago that was causing "argument out of range" errors, but the fix was not previously reported)
     download 

    Posted Apr 25, 2016, 10:42 PM by Steve Borgatti
  • Version 6.609 | 18 Apr 2016
    • Made change in Tools|Cluster|Hierarchical Clustering. Now, when the user chooses "Newman community detection", the program symmetrizes the data via the maximum method, and also dichotomizes. 

    Posted Apr 18, 2016, 5:14 PM by Steve Borgatti
  • Version 6.608 | 16 Apr 2016
    • Fixed bug in Network|Cohesion|Density|Density by Groups, which was failing to match the attribute dataset with the network dataset when the nodes in the two datasets were in different order. 
     download 

    Posted Apr 16, 2016, 11:04 AM by Steve Borgatti
  • Version 6.607 | 11 Mar 2016
    • Fixed bug in CLI's ForFiles command to allow handling files that are not ucinet system files. For example, suppose you want to convert several excel files to ucinet. If the excel files are all named with the same prefix (such as 'team1.xlsx', 'team2.xlsx', etc, you can type:

      ->forfiles team*.xlsx $$ = loadexcel($$)
      ->dsp centrality(team1)

      Previously, UCINET assumed that the files represented by $$ were ucinet files. 
     download 

    Posted Apr 11, 2016, 7:09 PM by Steve Borgatti
  • Version 6.606 | 4 Apr 2016
    • Added option to the Regress routine the CLI. Now, you can add YPERM as the last parameter; the program will generate significance using a Y permutation test on the t-statistics. Syntax is ->regress <yvar> <xvar1> <xvar2> ... [yperm]. For example,

      ->regress betweenness(campnet) cols(campattr "gender" "role"), yperm

      Regression statistics for 1

                             Value 
                         --------- 
                    Nobs        18 
                R-Square   0.08894 
            Adj R-square  -0.03254 
                  F(0,0)   0.73213 
                Prob > F   0.49730 


      Regression coefficients

                           Coef        SE         T       Sig 
                      --------- --------- --------- --------- 
            Intercept   9.62500  21.48261   0.44804   0.70440 
               Gender  -7.62500  13.39676  -0.56917   0.29040 
                 Role  19.37500  16.01219   1.21002   0.13500 


      Note, the results are not very different from the classical significance test (recalling that permutation tests are conducted 1-tailed, so the classical p-values should be halved for comparison):

      ->regress betweenness(campnet) cols(campattr "gender" "role")

      Regression statistics for 1

                             Value 
                         --------- 
                    Nobs        18 
                R-Square   0.08894 
            Adj R-square  -0.03254 
                  F(0,0)   0.73213 
                Prob > F   0.49730 


      Regression coefficients

                           Coef        SE         T       Sig 
                      --------- --------- --------- --------- 
            Intercept   9.62500  21.48261   0.44804   0.65978 
               Gender  -7.62500  13.39676  -0.56917   0.57669 
                 Role  19.37500  16.01219   1.21002   0.24283 




    Posted Apr 4, 2016, 8:28 PM by Steve Borgatti
  • Version 6.605 | 30 Mar 2016
    • Added Johnson's hierarchical clustering routine to the CLI. Given a proximity matrix, it produces a set of nested partitions. Syntax is <outfile> = hiclus(<proximitymat> [WTAVG|min|max|avg] [SIM|dis]) where WTAVG|min|max|avg refer to different methods of clustering: weighted average, minimum (single-link or nearest neighbor), maximum (complete-link or diameter method), and simple average. The default is weighted average. You can also indicate whether the data are similarities (sim) or dissimilarities/distances (dis). The default is similarities. Example:

      ->h = hiclus(cities dis)   //output is a set of nested partitions saved to a file called h
      ->dsp h   

    • Added clique overlap routine to the CLI. Given a network, it computes all cliques larger than a given size, and then computes a node-by-node similarity matrix that records the number of cliques that each pair of nodes has in common (both belong to). The syntax is <outfile> = cliqueoverlap(<adj matrix> [<minsize>]). If omitted, minsize defaults to 3. The function name can be abbreviated as clqovr. Example:

      ->overlaps = clqovr(campnet)
      ->dsp hiclus(overlaps)  //performs Johnson's hierarchical clustering on the clique overlap matrix

    • Added structural equivalence routine to the CLI. Given a network of one or more relations, it computes the degree of structural equivalence between each pair of nodes. The syntax is <outfile> = se(<dataset> [CORR|euc] [RECIP|ignore]). The second parameter selects the measure of structural equivalence: correlation (corr) or euclidean distance (euc). The default is corr. The third parameter selects the method of handling ties between the pair of nodes whose equivalence is being measured. Choose "ignore" to ignore the relationship between the two nodes. Choose "recip" to require that either both send to each other, or neither does. The default is "recip". Example:

      ->padgse = se(padgett ignore) 
      ->dsp padgse
      ->dsp hiclus(padgse)
    Posted Mar 30, 2016, 9:00 PM by Steve Borgatti
  • Version 6.604 | 29 Mar 2016
    • Added option in Network|Centrality & Power|Degree routine to normalize degree scores by dividing by max*(n-1) rather than just (n-1), where max is the value of the largest edge weight. 
    Added standard node-level OLS regression routine to the CLI. P-values are generated from standard errors in the classical way (not permutations or bootstrapping). Syntax is ->regress <yvar> <xvar1> <xvar2> ... or ->regress <yvar> <xmatrix>. For example:

    ->bet = betweenness(campnet)
    ->gender = col(campattr "gender")
    ->role = col(campattr "role")
    ->regress bet gender role
    or
    ->regress bet cols(campattr 1 2)  //the x variables are columns 1 and 2 in dataset campattr
    Regression statistics for 1

                           Value 
                       --------- 
                  Nobs        18 
              R-Square   0.08894 
          Adj R-square  -0.03254 
                F(0,0)   0.73213 
              Prob > F   0.49730 


    Regression coefficients

                         Coef        SE         T       Sig 
                    --------- --------- --------- --------- 
          Intercept   9.62500  21.48261   0.44804   0.65978 
             GENDER  -7.62500  13.39676  -0.56917   0.57669 
               ROLE  19.37500  16.01219   1.21002   0.24283 
    • Fixed bug in Network|Cohesion|Reciprocity which was causing an error in the calculation of dyad-based reciprocity for networks with self-loops (i.e., values other than zero down the main diagonal)
    • Added Individual Reciprocity routine to the CLI. Given a valued network, it outputs a crosstab for each node showing how often when they send a value (say, 1) to another node, they receive that or some other value back. The syntax is <outfile> = indrecip(<dataset>). Example:

      ->dsp indrecip(campnet)
    Matrix: HOLLY
    Crosstab of ties sent and received by node

             1  2 
             0  1 
            -- -- 
        1 0 12  2 
        2 1  1  2 

    Matrix: BRAZEY
    Crosstab of ties sent and received by node

             1  2 
             0  1 
            -- -- 
        1 0 14  0 
        2 1  2  1 
    Add facility to enumerate all paths between pairs of nodes to the CLI. This routine is appropriate only very sparse and/or small graphs. Syntax is <outfile> = allpaths(<infile> [maxlength]), where maxlength can be used to limit paths to only those up to a certain length. The default is n-1, where n is the number of nodes. The output is a listing of each path, along with a matrix that counts the number of paths from each node to every other. Example:
    ->dsp allpaths(campnet)

     .... (much output suppressed)

    Paths from 18 to 16

      1: RUSS -> GERY -> STEVE
      2: RUSS -> STEVE
      3: RUSS -> BERT -> LEE -> BRAZEY -> STEVE
      4: RUSS -> BERT -> LEE -> STEVE
      5: RUSS -> BERT -> STEVE

    Paths from 18 to 17

      1: RUSS -> GERY -> STEVE -> LEE -> BRAZEY -> BERT
      2: RUSS -> GERY -> STEVE -> LEE -> BERT
      3: RUSS -> GERY -> STEVE -> BERT
      4: RUSS -> STEVE -> LEE -> BRAZEY -> BERT
      5: RUSS -> STEVE -> LEE -> BERT
      6: RUSS -> STEVE -> BERT
      7: RUSS -> BERT



    Number of paths between pairs of nodes

                    1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18 
                  HOL BRA CAR PAM PAT JEN PAU ANN MIC BIL LEE DON JOH HAR GER STE BER RUS 
                   LY ZEY  OL         NIE LIN     HAE   L           N  RY   Y  VE   T   S 
                                            E       L                                     
                  --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 
        1   HOLLY   0   0  13   7   9  11  13  10   2   0   0   1   0   2   0   0   0   0 
        2  BRAZEY  50   0 650 350 450 550 650 500  10   0   8  40   0  30  10   9   7  10 
        3   CAROL   9   0   0   9   9  12  11  13  18   0   0   9   0  18   0   0   0   0 
        4     PAM   8   0   8   0   8   6   5   4  16   0   0   8   0  16   0   0   0   0 
        5     PAT   1   0   8   7   0   7  11   8   2   0   0   1   0   2   0   0   0   0 
        6  JENNIE   9   0  11  10   9   0   9   5  18   0   0   9   0  18   0   0   0   0 
        7 PAULINE   6   0   4   9   6  12   0  14  12   0   0   6   0  12   0   0   0   0 
        8     ANN  10   0  10  12  10  11   7   0  20   0   0  10   0  20   0   0   0   0 
        9 MICHAEL   5   0  65  35  45  55  65  50   0   0   0   4   0   3   0   0   0   0 
       10    BILL  15   0 195 105 135 165 195 150   6   0   0   9   0   6   0   0   0   0 
       11     LEE  40   1 520 280 360 440 520 400   8   0   0  32   0  24   8   8   6   8 
       12     DON   5   0  65  35  45  55  65  50   2   0   0   0   0   2   0   0   0   0 
       13    JOHN  16  13 134  79  96 122 131 114  14   0  13  14   0  18   2  10  15   6 
       14   HARRY   5   0  65  35  45  55  65  50   3   0   0   4   0   0   0   0   0   0 
       15    GERY   5   7  65  35  45  55  65  50   1   0   7   4   0   3   0   5   8   5 
       16   STEVE  20   3 260 140 180 220 260 200   4   0   3  16   0  12   4   0   4   4 
       17    BERT  20   4 260 140 180 220 260 200   4   0   4  16   0  12   4   5   0   4 
       18    RUSS   5   6  65  35  45  55  65  50   1   0   6   4   0   3   1   5   7   0 

    • Added k-plex routine to the CLI. Calculates all k-plexes of a graph. Syntax is <outfile> = kplex(<dataset>,[<k>],[<minsize>]), where k is the K of K-plex (default is 2) and minsize is the size of the smallest k-plex to output (default is 3). Output is node-by-kplex indicator matrix. Example:

      ->dsp kplex(campnet 2)



                     1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 
                    -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
          1   HOLLY  1  1  1  1  1  1  1  1  1  1  1  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
          2  BRAZEY  0  0  0  0  0  0  0  0  0  0  0  0  1  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
          3   CAROL  1  0  0  0  0  0  0  0  0  0  0  0  0  0  1  1  1  1  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
          4     PAM  0  1  1  1  0  0  0  0  0  0  0  0  0  0  1  1  0  0  0  1  1  1  1  0  0  0  0  0  0  0  0  0  0  0 
          5     PAT  1  0  0  0  1  1  1  1  1  0  0  0  0  0  0  0  1  1  0  1  0  0  0  1  1  0  0  0  0  0  0  0  0  0 
          6  JENNIE  0  1  0  0  1  0  0  0  0  0  0  0  0  0  1  0  1  0  0  1  1  1  0  1  1  0  0  0  0  0  0  0  0  0 
          7 PAULINE  0  0  1  0  0  1  0  0  0  0  0  0  0  0  0  1  0  1  1  0  1  0  1  1  0  0  0  0  0  0  0  0  0  0 
          8     ANN  0  0  0  1  0  0  0  0  0  0  0  0  0  0  0  1  0  0  0  0  0  1  0  0  1  0  0  0  0  0  0  0  0  0 
          9 MICHAEL  0  0  0  0  0  0  1  0  0  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1  1  1  0  0  0  0  0  0 
         10    BILL  0  0  0  0  0  0  0  0  0  0  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1  0  0  0  0  0  0  0  0 
         11     LEE  0  0  0  0  0  0  0  0  0  0  0  0  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1  1  0  0  0  0 
         12     DON  0  0  0  0  0  0  0  1  0  1  1  1  0  0  0  0  0  0  0  0  0  0  0  0  0  1  1  0  0  0  0  0  0  0 
         13    JOHN  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1  0  0  0  1  0  0  0  0  0  0  0  1  1  1  0 
         14   HARRY  0  0  0  0  0  0  0  0  1  0  0  1  0  0  0  0  0  0  0  0  0  0  0  0  0  1  0  1  0  0  0  0  0  0 
         15    GERY  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1  1  1  0  1  0  0  1 
         16   STEVE  0  0  0  0  0  0  0  0  0  0  0  0  1  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1  1  0  1  0  1 
         17    BERT  0  0  0  0  0  0  0  0  0  0  0  0  1  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1  0  0  1  1 
         18    RUSS  0  0  0  0  0  0  0  0  0  0  0  0  0  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1  1  1  1  1 

       
     
    Posted Mar 31, 2016, 12:05 PM by Steve Borgatti
  • Version 6.601 | 17 Mar 2016
    • Added orbits command to the CLI. This routine computes all possible permutations of the nodes in order to identify automorphisms. It then outputs a partition vector that shows which nodes belong to the same automorphism class (orbit). Note: this routine is only appropriate for very small graphs, on the order of 10 nodes. Running it on a graph of 18 nodes would probably take as long as the universe has been in existence. The syntax is orbits(<network>). It can be used on datasets containing multiple networks. Example: 

      ->dsp orbits(think)
      nperm = 3628800
      nauto = 32
      norbit = 3

      Orbits of the graphs in THINK

              1 
              - 
          1 a 1 
          2 b 2 
          3 c 1 
          4 d 2 
          5 e 3 
          6 f 3 
          7 g 2 
          8 h 1 
          9 i 2 
         10 j 1 


    • Changed Network|Centrality|PN routine to automatically replace missing values with zeros
    Posted Mar 17, 2016, 6:11 PM by Steve Borgatti
Showing posts 1 - 8 of 194. View more »

Comments