There are the codes that we currently have:

names(codes)
##  [1] "AK1900"         "AL1852"         "AR1868"         "AR1874"        
##  [5] "AZ1865"         "AZ1887"         "CA1850"         "CA1851"        
##  [9] "CA1858"         "CA1868"         "CA1868extended" "CA1872"        
## [13] "CO1877"         "CT1854"         "CT1879"         "CT1879extended"
## [17] "DE1852"         "FL1870"         "GA1851"         "GA1860"        
## [21] "HI1859"         "HI1897"         "IA1839"         "IA1851"        
## [25] "ID1864"         "ID1881"         "IL1933"         "IN1843"        
## [29] "IN1852"         "KS1859"         "KY1851"         "LA1825"        
## [33] "MA1836"         "MA1858"         "MD1855"         "MD1859"        
## [37] "ME1840"         "MI1853"         "MN1851"         "MO1835"        
## [41] "MO1849"         "MO1856"         "MT1865"         "NC1868"        
## [45] "NE1866"         "NM1897"         "NV1861"         "NV1869"        
## [49] "NY1848"         "NY1849"         "NY1850"         "OH1853"        
## [53] "OH1853extended" "OK1891"         "OR1862"         "SC1870"        
## [57] "UT1853"         "UT1870"         "WA1855"         "WI1856"        
## [61] "WY1870"

Create the comparison matrix:

cf <- outer_for_lists(codes, codes, compare_codes_by_shared_ngrams)

Remove obviously incorrect values:

cf2  <- cf
diag(cf2) <- NA                 # remove codes compared to themselves
cf2 <- rm_anachronism(cf2)       # remove anachronistic comparisons

significance_threshold <- 0.03
cf2[cf2 < significance_threshold] <- NA
cf2[is.na(cf2)] <- 0

Now we can create a graph object from the comparison matrix, which we will treat as an adjacency matrix.

g <- graph.adjacency(cf2, mode = "directed", weighted = TRUE, diag = FALSE) 
set.seed(4821)
l <- layout.fruchterman.reingold(g, weights = E(g)$weight)
par(mar=c(0,0,1,0))
plot(g, edge.width = E(g)$weight * 10, layout = l,
     edge.arrow.size= 0.15, vertex.size = 5)
title("Codes of Civil Procedure")

Community detection

g %>%
  walktrap.community() %>%
  plot(., g, vertex.label = NA, layout = l, vertex.size = 3)

Get just the component graphs

sub <- decompose.graph(g, mode = "weak", min.vertices = 3)[[1]]
l2 <- layout.fruchterman.reingold(sub, weights = E(sub)$weight)
par(mar=c(0,0,1,0))
plot(sub, edge.width = E(sub)$weight * 10, layout = l2,
     edge.arrow.size= 0.15, vertex.size = 5)
title("Largest family of codes")

Neighborhood of NY 1850

ny <- which(V(g)$name == "NY1850")
neighbors(g, ny)
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 15 18 21 22 24 25 26 27 29 30
## [24] 31 38 39 42 43 44 45 46 47 48 52 53 54 55 56 57 58 59 60 61
graph.neighborhood(g, order = 1, nodes = ny)[[1]] %>%
  plot_graph()

Get all the influences for people who need words.

influences <- colnames(cf2) %>%
  lapply(., function(name) { get_influences(cf2, name, 10) })
names(influences) <- colnames(cf2)
print(influences)
## $AK1900
##         OR1862         NY1850         CA1872         MN1851 CA1868extended 
##     0.47317067     0.17184229     0.14053933     0.10764131     0.10579703 
##         NV1861         ID1881         CA1851         AZ1865         CA1858 
##     0.10128601     0.09961619     0.09470641     0.09302413     0.09301166 
## 
## $AL1852
##     IN1843     NY1850     AK1900     AL1852     AR1868     AR1874 
## 0.03596337 0.03424898 0.00000000 0.00000000 0.00000000 0.00000000 
##     AZ1865     AZ1887     CA1850     CA1851 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $AR1868
##         KY1851 OH1853extended         OH1853         KS1859         NE1866 
##     0.40421551     0.14304845     0.13616935     0.13211528     0.12936364 
##         IN1852         NY1850         OR1862 CA1868extended         WA1855 
##     0.07921046     0.07550493     0.06479188     0.06403977     0.05310660 
## 
## $AR1874
##         AR1868         KY1851 OH1853extended         KS1859         OH1853 
##      0.6509167      0.5406496      0.2442116      0.2409115      0.2386590 
##         NE1866         WY1870         IN1852         CA1872         NY1850 
##      0.2231535      0.2117339      0.1529073      0.1297014      0.1166579 
## 
## $AZ1865
##    CA1851    CA1858    NV1861    ID1864    MT1865    NY1850    OR1862 
## 0.7680503 0.7251191 0.6902161 0.5627385 0.4818773 0.3729568 0.2616672 
##    MN1851    WA1855    NY1849 
## 0.2149456 0.1915454 0.1623806 
## 
## $AZ1887
##         CA1872 CA1868extended         NV1861         AZ1865         NV1869 
##     0.50307695     0.07596682     0.06427645     0.06223887     0.06153909 
##         CA1851         ID1881         CA1858         OR1862         ID1864 
##     0.06110688     0.06092165     0.05779324     0.05769033     0.05653776 
## 
## $CA1850
##     NY1849     NY1850     NY1848     MO1849     IN1843     MA1836 
## 0.42283632 0.33325235 0.28241725 0.13185545 0.05441846 0.04640146 
##     ME1840     AK1900     AL1852     AR1868 
## 0.03054965 0.00000000 0.00000000 0.00000000 
## 
## $CA1851
##     NY1850     MN1851     NY1849     CA1850     NY1848     KY1851 
## 0.38662783 0.21691415 0.17449874 0.13939094 0.11497152 0.06452032 
##     MO1849     IA1851     IN1843     AK1900 
## 0.05606845 0.04192131 0.04017892 0.00000000 
## 
## $CA1858
##         CA1851         NY1850         MN1851         WA1855         NY1849 
##     0.60233594     0.29615945     0.16031365     0.14413860     0.12482296 
##         CA1850         WI1856 OH1853extended         NY1848         OH1853 
##     0.10349570     0.09811770     0.09378656     0.08364637     0.06933925 
## 
## $CA1868
## CA1868extended         CA1858         NV1861         CA1851         AZ1865 
##      0.9667502      0.4513866      0.4124454      0.4076054      0.3810087 
##         ID1864         MT1865         NY1850         OR1862         MN1851 
##      0.3396711      0.2884327      0.2052531      0.1436882      0.1161141 
## 
## $CA1868extended
##     CA1868     CA1858     NV1861     CA1851     AZ1865     ID1864 
## 0.25826233 0.13798840 0.12234609 0.12158377 0.11385528 0.10123698 
##     MT1865     NY1850     OR1862     MN1851 
## 0.08624749 0.06474669 0.04628674 0.03673036 
## 
## $CA1872
## CA1868extended         NY1850         CA1868         CA1858         NV1861 
##      0.2725151      0.2482254      0.2370803      0.2148091      0.2140342 
##         CA1851         NV1869         AZ1865         ID1864         OR1862 
##      0.2083612      0.2059313      0.1959820      0.1733474      0.1704965 
## 
## $CO1877
## CA1868extended         NV1861         CA1868         NV1869         CA1858 
##      0.4722423      0.4115375      0.4075247      0.3874909      0.3768103 
##         CA1851         CA1872         AZ1865         ID1864         MT1865 
##      0.3757543      0.3665218      0.3599747      0.3368030      0.3282344 
## 
## $CT1854
##     IN1843     MA1836     ME1840     AK1900     AL1852     AR1868 
## 0.04116095 0.03619432 0.03026540 0.00000000 0.00000000 0.00000000 
##     AR1874     AZ1865     AZ1887     CA1850 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $CT1879
## CT1879extended OH1853extended         NC1868 CA1868extended         SC1870 
##     0.85120696     0.07004353     0.06687772     0.06529482     0.06489909 
##         NE1866         OR1862         OH1853         NY1850         CA1872 
##     0.06410764     0.06252473     0.06173328     0.06133755     0.05935892 
## 
## $CT1879extended
##     CT1879     AK1900     AL1852     AR1868     AR1874     AZ1865 
## 0.04168766 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 
##     AZ1887     CA1850     CA1851     CA1858 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $DE1852
##     MA1836     IN1843     ME1840     AK1900     AL1852     AR1868 
## 0.06000711 0.05101315 0.03757554 0.00000000 0.00000000 0.00000000 
##     AR1874     AZ1865     AZ1887     CA1850 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $FL1870
##         NC1868         SC1870         NY1849         NY1850         WI1856 
##      0.5392728      0.5354019      0.4254320      0.3350910      0.3346643 
##         NY1848 CA1868extended         OR1862         MN1851         CA1851 
##      0.2368557      0.2277424      0.2201225      0.2166174      0.2118931 
## 
## $GA1851
##     IN1843     AK1900     AL1852     AR1868     AR1874     AZ1865 
## 0.03394086 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 
##     AZ1887     CA1850     CA1851     CA1858 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $GA1860
##     GA1851     IN1843     AK1900     AL1852     AR1868     AR1874 
## 0.12318738 0.03720733 0.00000000 0.00000000 0.00000000 0.00000000 
##     AZ1865     AZ1887     CA1850     CA1851 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $HI1859
##         CA1851         NY1850         CA1858         WA1855         MN1851 
##     0.14935491     0.12705008     0.11677236     0.08681391     0.08528318 
## OH1853extended         NY1849         MA1858         OH1853         KS1859 
##     0.08222174     0.07566149     0.07544282     0.07325607     0.07063197 
## 
## $HI1897
##         HI1859         MA1836         MA1858         ME1840 CA1868extended 
##     0.16704999     0.09500117     0.08824220     0.08326684     0.06646327 
##         CA1872         NM1897         IN1843         NY1850         MN1851 
##     0.06608777     0.05763905     0.05665337     0.05477587     0.05163107 
## 
## $IA1839
##     MA1836     MO1835     AK1900     AL1852     AR1868     AR1874 
## 0.03984226 0.03209138 0.00000000 0.00000000 0.00000000 0.00000000 
##     AZ1865     AZ1887     CA1850     CA1851 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $IA1851
##     NY1850     MN1851     CA1851     IN1843     MA1836     AK1900 
## 0.07884678 0.05441193 0.04401005 0.03958720 0.03079611 0.00000000 
##     AL1852     AR1868     AR1874     AZ1865 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $ID1864
##     NV1861     CA1858     CA1851     NY1850     OR1862     MN1851 
## 0.57764762 0.45674508 0.41505521 0.22918867 0.17373020 0.13975996 
##     WA1855     NY1849     CA1850     WI1856 
## 0.13630341 0.10235238 0.08430149 0.08101776 
## 
## $ID1881
##         CA1872 CA1868extended         CA1868         NV1861         NV1869 
##      0.5952388      0.3113029      0.2740861      0.2634035      0.2523045 
##         CA1858         CA1851         NY1850         AZ1865         ID1864 
##      0.2483847      0.2419952      0.2390231      0.2358355      0.2154036 
## 
## $IL1933
## CA1868extended         OK1891         IN1843         NE1866         NM1897 
##     0.04389871     0.03770624     0.03660347     0.03651864     0.03639140 
##         CA1872         IN1852         OR1862 OH1853extended         NY1850 
##     0.03554311     0.03545829     0.03410103     0.03405862     0.03282860 
## 
## $IN1843
##     MA1836     ME1840     AK1900     AL1852     AR1868     AR1874 
## 0.04868312 0.03472535 0.00000000 0.00000000 0.00000000 0.00000000 
##     AZ1865     AZ1887     CA1850     CA1851 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $IN1852
##     IN1843     NY1850     KY1851     MN1851     CA1851     NY1849 
## 0.10470063 0.07156940 0.05862820 0.05075676 0.04448628 0.04298907 
##     IA1851     CA1850     MA1836     AK1900 
## 0.03407996 0.03406514 0.03227145 0.00000000 
## 
## $KS1859
## OH1853extended         OH1853         KY1851         NY1850         IN1852 
##     0.75013435     0.73437986     0.21111583     0.14444916     0.11056428 
##         MN1851         CA1851         CA1858         NY1849         WA1855 
##     0.10544477     0.10323858     0.09919389     0.09548862     0.09297129 
## 
## $KY1851
##     NY1850     CA1851     MN1851     NY1849     CA1850     NY1848 
## 0.11476072 0.07161000 0.06875253 0.06315303 0.04976043 0.04748023 
##     MO1849     IN1843     AK1900     AL1852 
## 0.04384345 0.03769555 0.00000000 0.00000000 
## 
## $LA1825
## AK1900 AL1852 AR1868 AR1874 AZ1865 AZ1887 CA1850 CA1851 CA1858 CA1868 
##      0      0      0      0      0      0      0      0      0      0 
## 
## $MA1836
## AK1900 AL1852 AR1868 AR1874 AZ1865 AZ1887 CA1850 CA1851 CA1858 CA1868 
##      0      0      0      0      0      0      0      0      0      0 
## 
## $MA1858
##     MA1836     ME1840     IN1843     MN1851     AK1900     AL1852 
## 0.39223113 0.10526415 0.04457344 0.03334249 0.00000000 0.00000000 
##     AR1868     AR1874     AZ1865     AZ1887 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $MD1855
##     IN1843     AK1900     AL1852     AR1868     AR1874     AZ1865 
## 0.03270327 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 
##     AZ1887     CA1850     CA1851     CA1858 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $MD1859
##         MD1855         IN1843         MA1858         GA1851         IN1852 
##     0.22191174     0.05270765     0.04904606     0.03603777     0.03497784 
## OH1853extended         MA1836         AK1900         AL1852         AR1868 
##     0.03401426     0.03218347     0.00000000     0.00000000     0.00000000 
## 
## $ME1840
##    MA1836    AK1900    AL1852    AR1868    AR1874    AZ1865    AZ1887 
## 0.2306124 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 
##    CA1850    CA1851    CA1858 
## 0.0000000 0.0000000 0.0000000 
## 
## $MI1853
##     IN1843     NY1850     AK1900     AL1852     AR1868     AR1874 
## 0.04013756 0.03247359 0.00000000 0.00000000 0.00000000 0.00000000 
##     AZ1865     AZ1887     CA1850     CA1851 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $MN1851
##     NY1850     CA1851     NY1849     NY1848     MA1836     CA1850 
## 0.28165516 0.12330914 0.10327750 0.06327336 0.05735996 0.05696081 
##     IN1843     KY1851     AK1900     AL1852 
## 0.04576970 0.03521429 0.00000000 0.00000000 
## 
## $MO1835
## AK1900 AL1852 AR1868 AR1874 AZ1865 AZ1887 CA1850 CA1851 CA1858 CA1868 
##      0      0      0      0      0      0      0      0      0      0 
## 
## $MO1849
##     NY1849     NY1848     MO1835     IN1843     MA1836     AK1900 
## 0.21138484 0.20460495 0.04430422 0.04296167 0.03047593 0.00000000 
##     AL1852     AR1868     AR1874     AZ1865 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $MO1856
##         MO1835         MO1849         NY1849         NY1850 OH1853extended 
##     0.24265151     0.20002795     0.09782457     0.09563516     0.08888061 
##         NY1848         WI1856         CA1850         OH1853         CA1851 
##     0.08510737     0.08296455     0.08287138     0.08282480     0.08058881 
## 
## $MT1865
##         NV1861         ID1864         CA1858         AZ1865         CA1851 
##      0.5609569      0.5272380      0.4581249      0.4260117      0.4250809 
##         NY1850         OR1862         MN1851         WA1855 OH1853extended 
##      0.2528099      0.1888628      0.1497219      0.1487678      0.1066018 
## 
## $NC1868
##         NY1849         NY1850         WI1856         OR1862 CA1868extended 
##      0.2703077      0.2263339      0.2149364      0.1594392      0.1587885 
##         CA1851         MN1851         NV1861         NY1848         AZ1865 
##      0.1484195      0.1471601      0.1466143      0.1440955      0.1404433 
## 
## $NE1866
## OH1853extended         OH1853         KS1859         KY1851         NY1850 
##     0.48819028     0.36489621     0.35896123     0.10747748     0.10042780 
##         IA1851         NV1861         MN1851         OR1862         MT1865 
##     0.08551502     0.07251529     0.06923146     0.06903564     0.06883982 
## 
## $NM1897
##         MO1856         OR1862         NY1850 OH1853extended         NE1866 
##     0.07189750     0.06832267     0.06685265     0.06556638     0.06501512 
##         CA1872         MN1851         WA1855         NC1868 CA1868extended 
##     0.06463091     0.06444715     0.06249269     0.06159063     0.06053823 
## 
## $NV1861
##         CA1858         CA1851         NY1850         MN1851         WA1855 
##     0.60394499     0.55435256     0.29962873     0.17727584     0.16576442 
##         NY1849         CA1850         WI1856 OH1853extended         NY1848 
##     0.13000643     0.10634061     0.10372721     0.09827225     0.08665713 
## 
## $NV1869
## CA1868extended         NV1861         CA1858         CA1868         CA1851 
##      0.6799773      0.6389106      0.6312741      0.6125730      0.5964016 
##         AZ1865         ID1864         MT1865         NY1850         OR1862 
##      0.5790482      0.5137480      0.4408823      0.3207320      0.2312694 
## 
## $NY1848
##     IN1843     MA1836     AK1900     AL1852     AR1868     AR1874 
## 0.03840209 0.03226741 0.00000000 0.00000000 0.00000000 0.00000000 
##     AZ1865     AZ1887     CA1850     CA1851 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $NY1849
##     NY1848     MO1849     IN1843     MA1836     AK1900     AL1852 
## 0.36254698 0.10116619 0.04137887 0.03273685 0.00000000 0.00000000 
##     AR1868     AR1874     AZ1865     AZ1887 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $NY1850
##     NY1849     NY1848     CA1850     AK1900     AL1852     AR1868 
## 0.11937376 0.07547865 0.05319180 0.00000000 0.00000000 0.00000000 
##     AR1874     AZ1865     AZ1887     CA1851 
## 0.00000000 0.00000000 0.00000000 0.00000000 
## 
## $OH1853
## OH1853extended         KY1851         NY1850         IN1852         MN1851 
##     1.00000000     0.22415233     0.14951171     0.10880650     0.10327543 
##         CA1851         NY1849         CA1850         NY1848         IN1843 
##     0.10062513     0.09757151     0.07737735     0.06452914     0.05712557 
## 
## $OH1853extended
##     OH1853     KY1851     NY1850     CA1851     IN1852     MN1851 
## 0.65349498 0.15056759 0.13407632 0.08588264 0.08051733 0.07509554 
##     IN1843     NY1849     CA1850     NY1848 
## 0.07470020 0.06897720 0.05312600 0.04508745 
## 
## $OK1891
##         IN1852         CA1872         WA1855         IN1843         ID1881 
##     0.38093350     0.12836018     0.12185048     0.10831888     0.10357703 
## CA1868extended         NE1866 OH1853extended         NV1861         NY1850 
##     0.09900041     0.09234201     0.08945064     0.08821148     0.08715407 
## 
## $OR1862
##         NY1850         MN1851         CA1851         NV1861         CA1858 
##     0.28687936     0.13373827     0.12644700     0.12522975     0.12235707 
##         WA1855         NY1849         WI1856         CA1850 OH1853extended 
##     0.09005149     0.07849987     0.05747812     0.05741726     0.05596874 
## 
## $SC1870
##         FL1870         NC1868         NY1849         NY1850         WI1856 
##      0.5003846      0.4930352      0.3836775      0.3061387      0.2968238 
##         NY1848         OR1862         MN1851 CA1868extended         CA1851 
##      0.2082894      0.2024498      0.1949865      0.1891753      0.1816550 
## 
## $UT1853
##         IA1851         IN1843         MN1851         MA1836         GA1851 
##     0.12718064     0.05289814     0.03967361     0.03911086     0.03882949 
## OH1853extended         NY1850         ME1840         AK1900         AL1852 
##     0.03798537     0.03460889     0.03179516     0.00000000     0.00000000 
## 
## $UT1870
##         NV1869 CA1868extended         NV1861         CA1858         CA1868 
##      0.5430257      0.4755664      0.4651915      0.4447403      0.4273188 
##         CA1851         AZ1865         ID1864         MT1865         NY1850 
##      0.4204558      0.4179999      0.3935088      0.3184979      0.2323318 
## 
## $WA1855
##         IN1852         NY1850         CA1851         MN1851         NY1849 
##     0.16730757     0.16227559     0.16225362     0.12665627     0.11120877 
##         CA1850 OH1853extended         OH1853         NY1848         IN1843 
##     0.09149838     0.08556549     0.06923905     0.06912918     0.06886550 
## 
## $WI1856
##         NY1849         NY1850         NY1848         CA1851         MN1851 
##      0.4665080      0.3548828      0.2652917      0.2271285      0.2205623 
##         CA1850         WA1855 OH1853extended         OH1853         IN1852 
##      0.2204301      0.1802397      0.1259034      0.1185880      0.1065133 
## 
## $WY1870
##         NE1866         KS1859 OH1853extended         OH1853         AR1868 
##      0.5805341      0.4411214      0.4281402      0.4199891      0.1302554 
##         KY1851 CA1868extended         NY1850         NV1869         NV1861 
##      0.1285849      0.1190050      0.1134905      0.1119810      0.1079558