When Big Data Slows Down

Digital Humanities and the Study of Roman Amphitheaters

Sebastian Heath sebastian.heath@nyu.edu

http://commons.wikimedia.org/wiki/File:RomanEmpire_117_recoloured_2.svg

Colosseum

http://commons.wikimedia.org/wiki/File:Colosseum_II.jpg

Amphitheaters around the Empire

Roman Empire Outline: http://awmc.unc.edu/

Pause for Themes, Terms and Questions

Many sizes

RStudio

http://www.r-project.org & http://rstudio.org

Media Rich (Google)

Assisi in Italy (Maximum dimension not known? Arena 65 x 38 Meters)

Media Rich (Google)

Carsulae in Italy (84 x 62 Meters)

Gladiators, Beast Hunts and Executions

The Zliten (Libya) Mosaic (C. 2nd Century AD?)

http://upload.wikimedia.org/wikipedia/commons/8/8d/Bestiarii.jpg

http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Circus_Leptis_Magna_Libya.JPG/1024px-Circus_Leptis_Magna_Libya.JPG

Many sizes… but not all shapes

“Media Rich” (Nimes)

http://commons.wikimedia.org/wiki/File:Arena_of_Nimes_2_HDR.jpg

“Media Rich” (Nimes)

“Media Rich” (Trier)

Public Information

http://www.maumburyrings.co.uk or “Peak Amphitheater”

How many amphitheater seats were there?

ramphs.all <- ramphs
ramphs.all.sp <- ramphs.sp

ramphs <- ramphs[ramphs$include,]
ramphs.sp <- ramphs.sp[ramphs.sp$include,]
  
ramphs$imputed.capacity <- NA
ramphs$imputed.capacity[!(is.na(ramphs$capacity))] <- ramphs[!(is.na(ramphs$capacity)),]$capacity

lm.imp.1 <- lm ( capacity ~ latitude +
                   ext.major + ext.minor + arena.major +
                   arena.minor + arena.major:ext.minor + arena.minor * ext.minor,
                data=ramphs )

pred.1 <- predict (lm.imp.1, ramphs)
ramphs$imputed.capacity <- ifelse (is.na(ramphs$capacity), pred.1, ramphs$capacity)

lm(capacity ~ ext.major, ramphs[(ramphs$ext.major < 120) & (ramphs$ext.major > 50),]) -> lm.ext.major
ramphs$imputed.capacity[(!is.na(ramphs$ext.major)) & (is.na(ramphs$imputed.capacity))] <- ramphs$ext.major[(!is.na(ramphs$ext.major)) & (is.na(ramphs$imputed.capacity))] * lm.ext.major$coefficients[2]

length(ramphs$imputed.capacity[is.na(ramphs$imputed.capacity)])
## [1] 73
ramphs$imputed.capacity[is.na(ramphs$imputed.capacity)] <- 5000

sum(ramphs$imputed.capacity)
## [1] 2259062

With many thanks to Katie Anderson of NYU Libaries Data Services who is in no way responsible for my (mis?)use of her work.

Where are the amphitheaters seats?

Spatial History

R. White. What is Spatial History? Spatial History Lab: Working paper; Submitted 1 February 2010;

Paragraph 36 (emphasis author): “One of the important points that I want to make about visualizations, spatial relations, and spatial history is something that I did not fully understand until I started doing this work and which I have had a hard time communicating fully to my colleagues: visualization and spatial history are not about producing illustrations or maps to communicate things that you have discovered by other means. It is a means of doing research; it generates questions that might otherwise go unasked, it reveals historical relations that might otherwise go unnoticed, and it undermines, or substantiates, stories upon which we build our own versions of the past.”

Calculating Distances

Who should know how to do this?

#generate distances of all amphitheaters to all other amphitheaters
ramphs.dists <- spDists(ramphs.sp,ramphs.sp,longlat = TRUE)

# but let's use names
colnames(ramphs.dists) <- ramphs$id
rownames(ramphs.dists) <- ramphs$id

# Would be nice to have a d.f in the form from,to,km
as.data.frame(ramphs.dists) -> ramphs.dists.df

#add column of names, in anticipation of using gather()
cbind(from = ramphs$id,ramphs.dists.df) -> ramphs.dists.df

gather(ramphs.dists.df, to, km, 2:dim(ramphs.dists.df)[2]) -> ramphs.dists.df

# data now in nice columns but...
# we still have the 0Km rows.
#set phasers to kill...
ramphs.dists.df[ramphs.dists.df$km > 0,] -> ramphs.dists.df

The Data

from to km
2 arlesAmphitheater duraEuroposAmphitheater 3241.8637
3 lyonAmphitheater duraEuroposAmphitheater 3255.7344
4 romeFlavianAmphitheater duraEuroposAmphitheater 2579.4293
5 eleutheropolisAmphitheater duraEuroposAmphitheater 645.7789
6 meridaAmphitheater duraEuroposAmphitheater 4177.5360
7 newsteadAmphitheater duraEuroposAmphitheater 4025.3811
8 conimbrigaAmphitheater duraEuroposAmphitheater 4341.4319
9 cumaeAmphitheater duraEuroposAmphitheater 2433.6452
10 pozzuoliFlavianAmphitheater duraEuroposAmphitheater 2427.6184
11 pozzuoliEarlyAmphitheater duraEuroposAmphitheater 2427.4305
12 syracuseAmphitheater duraEuroposAmphitheater 2304.6697
13 carthageAmphitheater duraEuroposAmphitheater 2747.3387
14 hadrianVillaAmphitheater duraEuroposAmphitheater 2556.7911
15 corinthAmphitheater duraEuroposAmphitheater 1636.6076
16 marcianopolisAmphitheater duraEuroposAmphitheater 1474.9250
17 porolissumAmphitheater duraEuroposAmphitheater 2013.5727
18 nijmegenAmphitheater duraEuroposAmphitheater 3355.6355
19 carnuntumMilitaryAmphitheater duraEuroposAmphitheater 2466.9678
20 carnuntumCivilianAmphitheater duraEuroposAmphitheater 2468.8220
21 leptisMagnaAmphitheater duraEuroposAmphitheater 2453.6977
22 empuriesAmphitheater duraEuroposAmphitheater 3355.0218
23 tarragonaAmphitheater duraEuroposAmphitheater 3509.8708
24 cagliariAmphitheater duraEuroposAmphitheater 2843.1324
25 italicaAmphitheater duraEuroposAmphitheater 4179.6454
26 segobrigaAmphitheater duraEuroposAmphitheater 3862.8982
27 catiniaAmphitheater duraEuroposAmphitheater 2321.2086
28 paestumAmphitheater duraEuroposAmphitheater 2347.9264
29 lunaAmphitheater duraEuroposAmphitheater 2818.9115
30 casinumAmphitheater duraEuroposAmphitheater 2463.0371
31 viminaciumAmphitheater duraEuroposAmphitheater 1997.6238
32 flaviaSolvaAmphitheater duraEuroposAmphitheater 2491.4773
33 rusellaeAmphitheater duraEuroposAmphitheater 2704.1570
34 parisAmphitheater duraEuroposAmphitheater 3503.1993
35 octodurusForumClaudiiVallensiumAmphitheater duraEuroposAmphitheater 3091.3570
36 cyreneAmphitheater duraEuroposAmphitheater 1758.7145
37 libarnaAmphitheater duraEuroposAmphitheater 2922.8465
38 luceriaNoukeriaAmphitheater duraEuroposAmphitheater 2338.2406
39 avellaAmphitheater duraEuroposAmphitheater 2389.3544
40 nimesAmphitheater duraEuroposAmphitheater 3265.2724
41 charterhouseAmphitheater duraEuroposAmphitheater 3913.4313
42 chesterAmphitheater duraEuroposAmphitheater 3968.2666
43 gennesAmphitheater duraEuroposAmphitheater 3665.4275
44 scylletiumScolaciumAmphitheater duraEuroposAmphitheater 2194.2565
45 oudnaAmphitheater duraEuroposAmphitheater 2762.5166
46 carthagoNovaAmphitheater duraEuroposAmphitheater 3734.8512
47 virunumAmphitheater duraEuroposAmphitheater 2573.2558
48 carsulaeAmphitheater duraEuroposAmphitheater 2587.5644
49 florenceAmphitheater duraEuroposAmphitheater 2715.0934
50 ocriculumAmphitheater duraEuroposAmphitheater 2590.6507
51 lixusAmphitheater duraEuroposAmphitheater 4236.4306
52 arezzoAmphitheater duraEuroposAmphitheater 2659.1569
53 larinumAmphitheater duraEuroposAmphitheater 2379.4143
54 lucusFeroniaeAmphitheater duraEuroposAmphitheater 2575.1280
55 allifaeAmphitheater duraEuroposAmphitheater 2418.0908
56 cimiezAmphitheater duraEuroposAmphitheater 3030.6213
57 hydataHypsitanaForumTraianiAmphitheatre duraEuroposAmphitheater 2870.7728
58 luccaAmphitheater duraEuroposAmphitheater 2776.2445
59 hispellumAmphitheatre duraEuroposAmphitheater 2586.4036
60 veronaAmphitheatre duraEuroposAmphitheater 2777.8239
61 aquincumCivilAmphitheater duraEuroposAmphitheater 2295.8815
62 aquincumMilitaryAmphitheater duraEuroposAmphitheater 2294.5178
63 aldburoughAmphitheater duraEuroposAmphitheater 3897.0494
64 perigueuxAmphitheatre duraEuroposAmphitheater 3567.3616
65 cividateCamunoAmphitheater duraEuroposAmphitheater 2845.9662
66 grumentoAmphitheater duraEuroposAmphitheater 2269.7408
67 albaFucensAmphitheater duraEuroposAmphitheater 2507.4774
68 colAugustaRauricaAmphitheatre duraEuroposAmphitheater 3080.9122
69 sutriumAmphitheatre duraEuroposAmphitheater 2606.8748
70 sarmizegetusaAmphitheatre duraEuroposAmphitheater 1932.7637
71 salonaAmphitheatre duraEuroposAmphitheater 2300.9942
72 londonAmphitheatre duraEuroposAmphitheater 3739.6890
73 tiburAmphitheater duraEuroposAmphitheater 2555.5455
74 caerleonAmphitheater duraEuroposAmphitheater 3935.9530
75 telesiaAmphitheatre duraEuroposAmphitheater 2402.6495
76 urbisagliaAmphitheater duraEuroposAmphitheater 2533.6269
77 saintesAmphitheatre duraEuroposAmphitheater 3678.1577
78 assisiAmphitheatre duraEuroposAmphitheater 2591.6974
79 durresAmphitheatre duraEuroposAmphitheater 1998.7495
80 lambaesisAmphitheater duraEuroposAmphitheater 3127.0012
81 mactarisAmphitheater duraEuroposAmphitheater 2857.1786
82 cirencesterAmphitheater duraEuroposAmphitheater 3871.4994
83 vindonissaAmphitheater duraEuroposAmphitheater 3043.5466
84 thysdrusSmallAmphitheater duraEuroposAmphitheater 2730.0252
85 frejusAmphitheater duraEuroposAmphitheater 3070.4752
86 gortynAmphitheater duraEuroposAmphitheater 1440.7413
87 leptiminusAmphitheater duraEuroposAmphitheater 2710.4584
88 miciaAmphitheater duraEuroposAmphitheater 1954.3939
89 gemellaeAmphitheater duraEuroposAmphitheater 3209.0205
90 cherchellAmphitheater duraEuroposAmphitheater 3470.7413
91 pulaAmphitheater duraEuroposAmphitheater 2544.6444
92 carmonaAmphitheater duraEuroposAmphitheater 4144.6798
93 caesareaAmphitheater duraEuroposAmphitheater 595.2877
94 pergamumAmphitheater duraEuroposAmphitheater 1299.6263
95 anazarbusAmphitheater duraEuroposAmphitheater 516.0525
96 antiochAmphitheater duraEuroposAmphitheater 444.7205
97 cyzicusAmphitheater duraEuroposAmphitheater 1294.0974
98 sabrathaAmphitheater duraEuroposAmphitheater 2615.5671
99 salamisAmphitheater duraEuroposAmphitheater 625.1647
100 paphosAmphitheater duraEuroposAmphitheater 761.9085
101 carmarthenAmphitheater duraEuroposAmphitheater 4032.1211

Amphitheaters Closer <= 80 Km.

from to km
250 nimesAmphitheater arlesAmphitheater 27.9687539
644 hadrianVillaAmphitheater romeFlavianAmphitheater 24.4592422
680 ocriculumAmphitheater romeFlavianAmphitheater 57.8988659
684 lucusFeroniaeAmphitheater romeFlavianAmphitheater 27.9206250
697 albaFucensAmphitheater romeFlavianAmphitheater 79.0177124
699 sutriumAmphitheatre romeFlavianAmphitheater 44.4399399
703 tiburAmphitheater romeFlavianAmphitheater 26.5447118
756 monteleoneAmphitheater romeFlavianAmphitheater 48.7236605
809 genzanoPrivateAmphitheater romeFlavianAmphitheater 27.7012943
823 statiliusTaurusAmphitheater romeFlavianAmphitheater 2.1340177
831 faleriiNoviAmphitheater romeFlavianAmphitheater 47.0474041
1627 bobadelaAmphitheater conimbrigaAmphitheater 58.7178710
1690 pozzuoliFlavianAmphitheater cumaeAmphitheater 6.1073447
1691 pozzuoliEarlyAmphitheater cumaeAmphitheater 6.2837252
1710 casinumAmphitheater cumaeAmphitheater 73.7562075
1719 avellaAmphitheater cumaeAmphitheater 48.4031736
1735 allifaeAmphitheater cumaeAmphitheater 58.5692162
1755 telesiaAmphitheatre cumaeAmphitheater 56.5159704
1810 beneventoAmphitheater cumaeAmphitheater 68.9187382
1811 calviRisortaAmphitheater cumaeAmphitheater 40.5962748
1822 capuaRepublicanAmphitheater cumaeAmphitheater 31.5102458
1823 capuaImperialAmphitheater cumaeAmphitheater 31.6279460
1824 liternoAmphitheater cumaeAmphitheater 9.0374043
1825 noleAmphitheater cumaeAmphitheater 40.2940775
1836 noceraSuperioreAmphitheater cumaeAmphitheater 51.8324988
1851 aquinoAmphitheater cumaeAmphitheater 78.6335590
1889 minturnaeAmphitheater cumaeAmphitheater 50.7130994
1890 sinuessaAmphitheater cumaeAmphitheater 38.8242914
1899 cumaeAmphitheater pozzuoliFlavianAmphitheater 6.1073447
1901 pozzuoliEarlyAmphitheater pozzuoliFlavianAmphitheater 0.1970432
1920 casinumAmphitheater pozzuoliFlavianAmphitheater 77.1704472
1929 avellaAmphitheater pozzuoliFlavianAmphitheater 43.4014628
1945 allifaeAmphitheater pozzuoliFlavianAmphitheater 58.1718231
1965 telesiaAmphitheatre pozzuoliFlavianAmphitheater 54.2711716
2020 beneventoAmphitheater pozzuoliFlavianAmphitheater 64.7172784
2021 calviRisortaAmphitheater pozzuoliFlavianAmphitheater 41.7859029
2032 capuaRepublicanAmphitheater pozzuoliFlavianAmphitheater 30.5667414
2033 capuaImperialAmphitheater pozzuoliFlavianAmphitheater 30.7001985
2034 liternoAmphitheater pozzuoliFlavianAmphitheater 13.2343994
2035 noleAmphitheater pozzuoliFlavianAmphitheater 35.1755547
2046 noceraSuperioreAmphitheater pozzuoliFlavianAmphitheater 45.7526823
2099 minturnaeAmphitheater pozzuoliFlavianAmphitheater 55.2462354
2100 sinuessaAmphitheater pozzuoliFlavianAmphitheater 43.2720751
2109 cumaeAmphitheater pozzuoliEarlyAmphitheater 6.2837252
2110 pozzuoliFlavianAmphitheater pozzuoliEarlyAmphitheater 0.1970432
2130 casinumAmphitheater pozzuoliEarlyAmphitheater 77.2015414
2139 avellaAmphitheater pozzuoliEarlyAmphitheater 43.2076626
2155 allifaeAmphitheater pozzuoliEarlyAmphitheater 58.0807452
2175 telesiaAmphitheatre pozzuoliEarlyAmphitheater 54.1308566
2230 beneventoAmphitheater pozzuoliEarlyAmphitheater 64.5340894
2231 calviRisortaAmphitheater pozzuoliEarlyAmphitheater 41.7470277
2242 capuaRepublicanAmphitheater pozzuoliEarlyAmphitheater 30.4682517
2243 capuaImperialAmphitheater pozzuoliEarlyAmphitheater 30.6020895
2244 liternoAmphitheater pozzuoliEarlyAmphitheater 13.3253543
2245 noleAmphitheater pozzuoliEarlyAmphitheater 34.9808437
2256 noceraSuperioreAmphitheater pozzuoliEarlyAmphitheater 45.5688926
2309 minturnaeAmphitheater pozzuoliEarlyAmphitheater 55.3241795
2310 sinuessaAmphitheater pozzuoliEarlyAmphitheater 43.3485126
2337 catiniaAmphitheater syracuseAmphitheater 50.9785638
2565 oudnaAmphitheater carthageAmphitheater 30.3648270
2701 uticaAmphitheater carthageAmphitheater 31.6378238
2702 tebourbaAmphitheater carthageAmphitheater 42.8836577
2703 hencherElKasbatAmphitheater carthageAmphitheater 62.5833037
2709 pupputAmphitheater carthageAmphitheater 55.9193622
2717 carpisAmphitheater carthageAmphitheater 24.1028949
2734 romeFlavianAmphitheater hadrianVillaAmphitheater 24.4592422
2778 carsulaeAmphitheater hadrianVillaAmphitheater 79.5150391
2780 ocriculumAmphitheater hadrianVillaAmphitheater 58.1566593
2784 lucusFeroniaeAmphitheater hadrianVillaAmphitheater 25.8478135
2797 albaFucensAmphitheater hadrianVillaAmphitheater 54.5782990
2799 sutriumAmphitheatre hadrianVillaAmphitheater 56.1999547
2803 tiburAmphitheater hadrianVillaAmphitheater 2.6290540
2855 sanBenedettoDeiMarsiAmphitheater hadrianVillaAmphitheater 70.6998945
2856 monteleoneAmphitheater hadrianVillaAmphitheater 32.6535029
2862 sanVittorinoAmphitheater hadrianVillaAmphitheater 67.0034237
2909 genzanoPrivateAmphitheater hadrianVillaAmphitheater 28.4519171
2923 statiliusTaurusAmphitheater hadrianVillaAmphitheater 26.0596583
2931 faleriiNoviAmphitheater hadrianVillaAmphitheater 52.9033948
3722 xantenAmphitheater nijmegenAmphitheater 43.8873024
3800 carnuntumCivilianAmphitheater carnuntumMilitaryAmphitheater 3.6214332
3938 sopronAmphitheater carnuntumMilitaryAmphitheater 53.2829375
4009 carnuntumMilitaryAmphitheater carnuntumCivilianAmphitheater 3.6214332
4148 sopronAmphitheater carnuntumCivilianAmphitheater 50.3097860
5132 carmonaAmphitheater italicaAmphitheater 35.1384584
5472 syracuseAmphitheater catiniaAmphitheater 50.9785638
5709 avellaAmphitheater paestumAmphitheater 68.6287749
5736 grumentoAmphitheater paestumAmphitheater 78.3291809
5815 noleAmphitheater paestumAmphitheater 69.5043023
5826 noceraSuperioreAmphitheater paestumAmphitheater 46.5007819
5938 luccaAmphitheater lunaAmphitheater 45.6785169
6099 cumaeAmphitheater casinumAmphitheater 73.7562075
6100 pozzuoliFlavianAmphitheater casinumAmphitheater 77.1704472
6101 pozzuoliEarlyAmphitheater casinumAmphitheater 77.2015414
6145 allifaeAmphitheater casinumAmphitheater 46.1903434
6157 albaFucensAmphitheater casinumAmphitheater 74.2807088
6165 telesiaAmphitheatre casinumAmphitheater 63.5208060
6215 sanBenedettoDeiMarsiAmphitheater casinumAmphitheater 60.3439850
6221 calviRisortaAmphitheater casinumAmphitheater 40.7579328
6232 capuaRepublicanAmphitheater casinumAmphitheater 56.8453689
6233 capuaImperialAmphitheater casinumAmphitheater 56.7178373

As a Network

Bigger Labels

Degree

http://www.slideshare.net/gcheliotis/social-network-analysis-3273045

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.000   1.000   3.000   6.096  10.000  20.000

High Degree

# print the top quartile
V(close.amphitheaters.nw)[degree >= summary(V(close.amphitheaters.nw)$degree/2)[5]]
## Vertex sequence:
##  [1] "romeFlavianAmphitheater"          "cumaeAmphitheater"               
##  [3] "pozzuoliFlavianAmphitheater"      "pozzuoliEarlyAmphitheater"       
##  [5] "carthageAmphitheater"             "hadrianVillaAmphitheater"        
##  [7] "paestumAmphitheater"              "casinumAmphitheater"             
##  [9] "luceriaNoukeriaAmphitheater"      "avellaAmphitheater"              
## [11] "oudnaAmphitheater"                "carsulaeAmphitheater"            
## [13] "ocriculumAmphitheater"            "arezzoAmphitheater"              
## [15] "larinumAmphitheater"              "lucusFeroniaeAmphitheater"       
## [17] "allifaeAmphitheater"              "hispellumAmphitheatre"           
## [19] "albaFucensAmphitheater"           "sutriumAmphitheatre"             
## [21] "tiburAmphitheater"                "telesiaAmphitheatre"             
## [23] "urbisagliaAmphitheater"           "assisiAmphitheatre"              
## [25] "mactarisAmphitheater"             "thysdrusSmallAmphitheater"       
## [27] "leptiminusAmphitheater"           "sanBenedettoDeiMarsiAmphitheater"
## [29] "monteleoneAmphitheater"           "bolsenaAmphitheater"             
## [31] "anconaAmphitheater"               "ascoliPicenoAmphitheater"        
## [33] "beneventoAmphitheater"            "calviRisortaAmphitheater"        
## [35] "sanVittorinoAmphitheater"         "capuaRepublicanAmphitheater"     
## [37] "capuaImperialAmphitheater"        "liternoAmphitheater"             
## [39] "noleAmphitheater"                 "noceraSuperioreAmphitheater"     
## [41] "aquinoAmphitheater"               "seressiAmphitheater"             
## [43] "chemtouAmphitheater"              "bekaltaAmphitheater"             
## [45] "sidiBouArkoubAmphitheater"        "genzanoPrivateAmphitheater"      
## [47] "ainHedjahAmphitheater"            "uticaAmphitheater"               
## [49] "tebourbaAmphitheater"             "hencherElKasbatAmphitheater"     
## [51] "hencherZembraAmphitheater"        "bullaRegiaAmphitheater"          
## [53] "pupputAmphitheater"               "siccaVeneriaAmphitheater"        
## [55] "thibariAmphitheater"              "statiliusTaurusAmphitheater"     
## [57] "carpisAmphitheater"               "faleriiNoviAmphitheater"         
## [59] "venosaAmphitheater"               "teramoAmphitheater"              
## [61] "ordonaAmphitheater"               "bevanaAmphitheater"              
## [63] "minturnaeAmphitheater"            "sinuessaAmphitheater"

Mapping Degree

Plotting Degree

id degree
82 faleriiNoviAmphitheater 16
113 liternoAmphitheater 16
118 lucusFeroniaeAmphitheater 16
139 ocriculumAmphitheater 16
3 albaFucensAmphitheater 17
71 cumaeAmphitheater 17
152 pozzuoliEarlyAmphitheater 17
153 pozzuoliFlavianAmphitheater 17
166 sanBenedettoDeiMarsiAmphitheater 17
177 sinuessaAmphitheater 17
44 calviRisortaAmphitheater 18
46 capuaImperialAmphitheater 18
47 capuaRepublicanAmphitheater 18
53 carsulaeAmphitheater 18
129 minturnaeAmphitheater 18
137 noleAmphitheater 18
6 allifaeAmphitheater 19
16 aquinoAmphitheater 19
56 casinumAmphitheater 19
131 monteleoneAmphitheater 19
167 sanVittorinoAmphitheater 19
24 avellaAmphitheater 20
26 beneventoAmphitheater 20
188 telesiaAmphitheatre 20

Distance to Road

http://darmc.harvard.edu/

Counting Seats Near Roads

Seats Near “Major” Cities

… and Riots

alt text http://upload.wikimedia.org/wikipedia/commons/0/03/Pompeian_mural_depicting_the_Amphitheatre_riots.jpg

Some Eye Candy?

Though this is useful (student work):

http://www.willjfield.com/blog/2015/03/03/randomizing-with-r/