Note: To find revision information for really old versions of UCINET look in these two places:
- To see a list of known bugs and user wish list items, check the fix list
- To download the latest version, click download.
- 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)
- 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.
- 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.
- 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($$)
Previously, UCINET assumed that the files represented by $$ were ucinet files.
- 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
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")
- 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
- 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)
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 roleor->regress bet cols(campattr 1 2) //the x variables are columns 1 and 2 in dataset campattr
- 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.
- 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:
Crosstab of ties sent and received by node
Crosstab of ties sent and received by node
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:
- 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:
- 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:
- Changed Network|Centrality|PN routine to automatically replace missing values with zeros
- Added allpaths command to the CLI. The program enumerates all paths of length k or less between all pairs of points. This is done in text form on the console It also outputs as a new dataset the count of the number of paths all pairs. Syntax is <outdataset> = allpaths(<network> [maxlength=n-1]). For example:
->numpaths = allpaths(campnet 5)
->dsp numpaths //displays matrix showing number of paths of length 5 or less joining each pair of nodes
- Added specialty routine SPS (successive pilesorts) that reads a specially formatted text file containing the results of Boster-style successive pilesorting, and outputs a dataset containing the individual proximity matrices implied by the sorts. Syntax is <outdataset> = sps(<textfile.txt>). Example:
->indprox = sps(mysorts.txt)
->agprox = wavg(indprox row col) //aggregates individual proximity matrices into a single matrix
The text dataset should look like this:
- Fixed bug in Network|Cohesion|Homophily which was failing when the user's node attribute did not consist of consecutive numbers from 1 to ...
- Added kplex routine to CLI. Syntax is <outfile> = kplex(<network> <value of K> <min size to output>). For example:
->kp = kplex(campnet 2 3) //computes all 2-plexes of 3 members or more