Introduction

This article outlines the process by which song ratings were calculated using the Fugazi Live Series metadata.

Song counts

Performance counts were calculated for all the released Fugazi songs that were performed live, using data from … how many shows?

one_row_per_show <- Repeatr1 %>% group_by(gid) %>% slice(1) %>% ungroup()
nrow(one_row_per_show)
#> [1] 899

These frequency counts do not necessarily measure the band’s preferences for the songs, as more recently released songs were available for fewer shows than older songs.

The results of this analysis, in descending order of performance count, are as follows:

fugazi_song_counts <- fugazi_song_counts %>%
  arrange(desc(count))
knitr::kable(fugazi_song_counts, "pipe")
songid song launchdate count
92 waiting room 1987-09-03 632
69 reclamation 1990-05-05 594
9 blueprint 1989-11-25 583
53 long division 1989-04-09 498
55 merchandise 1987-09-03 477
54 margin walker 1988-08-01 429
76 sieve-fisted find 1989-03-24 417
71 repeater 1989-07-20 409
89 turnover 1989-04-09 394
65 promises 1988-10-15 380
2 and the same 1987-09-26 375
90 two beats off 1989-05-03 370
37 give me the cure 1988-03-30 368
70 rend it 1991-12-08 346
83 suggestion 1987-12-03 339
75 shut the door 1989-03-24 322
78 song #1 1987-09-03 321
7 bed for the scraping 1994-11-20 299
28 facet squared 1991-08-12 299
82 styrofoam 1990-05-17 287
6 bad mouth 1987-10-16 279
27 exit only 1990-07-06 275
72 reprovisional 1988-12-29 275
23 do you like me 1994-11-20 272
44 instrument 1992-01-25 272
39 great cop 1991-12-08 268
74 runaway return 1990-02-11 265
67 public witness program 1993-02-05 264
85 target 1994-08-15 260
77 smallpox champion 1992-10-23 252
84 sweet and low 1992-05-15 249
16 by you 1993-04-24 233
13 bulldog front 1988-06-15 225
14 burning 1988-02-06 214
15 burning too 1988-08-01 214
34 forensic scene 1994-08-19 201
8 birthday pony 1994-08-15 199
40 greed 1989-03-24 188
49 latin roots 1990-10-01 182
46 kyeo 1987-10-07 173
10 break 1996-08-15 171
18 cassavetes 1991-07-28 171
51 lockdown 1987-12-03 164
20 closed captioned 1997-06-18 159
12 brendan #1 1989-03-24 158
4 arpeggiator 1997-05-02 154
79 stacks 1991-02-15 153
22 dear justice letter 1991-01-02 148
68 recap modotti 1997-05-03 141
93 walken’s syndrome 1992-10-23 141
30 fell, destroyed 1993-08-16 137
5 back to base 1994-11-20 136
47 last chance for a slow dance 1991-07-28 136
11 break-in 1987-10-16 134
73 returning the screw 1992-10-23 134
38 glueman 1988-05-12 133
62 place position 1996-08-15 133
45 joe #1 1987-09-03 131
29 fd 1997-05-02 115
56 nice new outfit 1991-02-20 115
52 long distance runner 1994-11-27 113
24 downed city 1994-11-20 111
59 number 5 1998-11-21 110
31 five corporations 1996-08-15 109
32 floating boy 1996-10-16 106
36 furniture 1987-09-03 94
58 no surprise 1996-09-29 89
60 oh 1998-11-29 80
61 pink frosty 1996-03-20 67
3 argument 1999-08-26 66
17 cashout 2000-09-30 61
19 caustic acrostic 1996-01-30 51
80 steady diet 1991-04-12 46
26 ex-spectator 1999-08-26 45
57 nightshop 1999-08-26 44
48 latest disgrace 1994-11-20 39
86 the kill 2001-04-05 35
91 version 1994-08-27 34
33 foreman’s dog 1998-05-01 33
25 epic problem 2000-10-01 32
41 guilford fall 1996-08-15 32
87 the word 1987-09-03 31
1 23 beats off 1992-10-23 26
35 full disclosure 2001-04-05 25
43 in defense of humans 1987-09-03 25
21 combination lock 1994-11-27 21
50 life and limb 2001-06-21 21
81 strangelight 2001-04-06 19
88 turn off your guns 1987-09-03 15
66 provisional 1988-11-14 8
63 polish 1991-03-06 6
64 preprovisional 1988-10-31 6
42 hello morning 2001-04-27 2
94 world beat 1996-01-30 2

Performance intensity

A slightly more detailed analysis was undertaken by calculating the performance intensity of each song.

Song performance intensity = number of times a song was played / number of shows at which it was available in the repertoire.

A song was considered available in the repertoire from the first show it was performed.

The results of this analysis look like this:

knitr::kable(fugazi_song_performance_intensity, "pipe")
songid song launchdate chosen available_rl intensity
17 cashout 2000-09-30 61 66 0.9242424
20 closed captioned 1997-06-18 159 199 0.7989950
7 bed for the scraping 1994-11-20 299 377 0.7931034
59 number 5 1998-11-21 110 145 0.7586207
69 reclamation 1990-05-05 594 795 0.7471698
10 break 1996-08-15 171 229 0.7467249
4 arpeggiator 1997-05-02 154 208 0.7403846
23 do you like me 1994-11-20 272 377 0.7214854
9 blueprint 1989-11-25 583 825 0.7066667
92 waiting room 1987-09-03 632 899 0.7030033
68 recap modotti 1997-05-03 141 207 0.6811594
85 target 1994-08-15 260 385 0.6753247
3 argument 1999-08-26 66 101 0.6534653
86 the kill 2001-04-05 35 58 0.6034483
70 rend it 1991-12-08 346 585 0.5914530
53 long division 1989-04-09 498 847 0.5879575
60 oh 1998-11-29 80 137 0.5839416
62 place position 1996-08-15 133 229 0.5807860
29 fd 1997-05-02 115 208 0.5528846
55 merchandise 1987-09-03 477 899 0.5305895
34 forensic scene 1994-08-19 201 383 0.5248042
8 birthday pony 1994-08-15 199 385 0.5168831
67 public witness program 1993-02-05 264 513 0.5146199
54 margin walker 1988-08-01 429 871 0.4925373
25 epic problem 2000-10-01 32 65 0.4923077
76 sieve-fisted find 1989-03-24 417 852 0.4894366
71 repeater 1989-07-20 409 837 0.4886499
16 by you 1993-04-24 233 477 0.4884696
77 smallpox champion 1992-10-23 252 516 0.4883721
28 facet squared 1991-08-12 299 621 0.4814815
50 life and limb 2001-06-21 21 44 0.4772727
31 five corporations 1996-08-15 109 229 0.4759825
32 floating boy 1996-10-16 106 227 0.4669604
44 instrument 1992-01-25 272 583 0.4665523
89 turnover 1989-04-09 394 847 0.4651712
39 great cop 1991-12-08 268 585 0.4581197
26 ex-spectator 1999-08-26 45 101 0.4455446
84 sweet and low 1992-05-15 249 563 0.4422735
90 two beats off 1989-05-03 370 845 0.4378698
65 promises 1988-10-15 380 868 0.4377880
57 nightshop 1999-08-26 44 101 0.4356436
35 full disclosure 2001-04-05 25 58 0.4310345
2 and the same 1987-09-26 375 898 0.4175947
37 give me the cure 1988-03-30 368 886 0.4153499
58 no surprise 1996-09-29 89 228 0.3903509
83 suggestion 1987-12-03 339 894 0.3791946
75 shut the door 1989-03-24 322 852 0.3779343
27 exit only 1990-07-06 275 755 0.3642384
82 styrofoam 1990-05-17 287 788 0.3642132
5 back to base 1994-11-20 136 377 0.3607427
78 song #1 1987-09-03 321 899 0.3570634
81 strangelight 2001-04-06 19 57 0.3333333
74 runaway return 1990-02-11 265 817 0.3243574
72 reprovisional 1988-12-29 275 853 0.3223916
6 bad mouth 1987-10-16 279 896 0.3113839
30 fell, destroyed 1993-08-16 137 449 0.3051225
52 long distance runner 1994-11-27 113 376 0.3005319
24 downed city 1994-11-20 111 377 0.2944297
93 walken’s syndrome 1992-10-23 141 516 0.2732558
18 cassavetes 1991-07-28 171 632 0.2705696
61 pink frosty 1996-03-20 67 251 0.2669323
73 returning the screw 1992-10-23 134 516 0.2596899
13 bulldog front 1988-06-15 225 875 0.2571429
49 latin roots 1990-10-01 182 729 0.2496571
15 burning too 1988-08-01 214 871 0.2456946
14 burning 1988-02-06 214 889 0.2407199
79 stacks 1991-02-15 153 691 0.2214182
40 greed 1989-03-24 188 852 0.2206573
47 last chance for a slow dance 1991-07-28 136 632 0.2151899
22 dear justice letter 1991-01-02 148 694 0.2132565
19 caustic acrostic 1996-01-30 51 254 0.2007874
46 kyeo 1987-10-07 173 897 0.1928651
33 foreman’s dog 1998-05-01 33 176 0.1875000
12 brendan #1 1989-03-24 158 852 0.1854460
51 lockdown 1987-12-03 164 894 0.1834452
56 nice new outfit 1991-02-20 115 690 0.1666667
38 glueman 1988-05-12 133 883 0.1506229
11 break-in 1987-10-16 134 896 0.1495536
45 joe #1 1987-09-03 131 899 0.1457175
41 guilford fall 1996-08-15 32 229 0.1397380
36 furniture 1987-09-03 94 899 0.1045606
48 latest disgrace 1994-11-20 39 377 0.1034483
91 version 1994-08-27 34 378 0.0899471
80 steady diet 1991-04-12 46 673 0.0683507
21 combination lock 1994-11-27 21 376 0.0558511
1 23 beats off 1992-10-23 26 516 0.0503876
42 hello morning 2001-04-27 2 45 0.0444444
87 the word 1987-09-03 31 899 0.0344828
43 in defense of humans 1987-09-03 25 899 0.0278087
88 turn off your guns 1987-09-03 15 899 0.0166852
66 provisional 1988-11-14 8 862 0.0092807
63 polish 1991-03-06 6 685 0.0087591
94 world beat 1996-01-30 2 254 0.0078740
64 preprovisional 1988-10-31 6 865 0.0069364

The “songid” variable indicates the raw frequency ranking of each song, allowing easy comparison between the intensity and frequency measures.

Song preferences

“We played without a setlist from the first show to the last show,” Picciotto said. “We never had a program for the night before we hit the stage. Right before we went on stage we’d get together and decide on a song to start with. From then on, we were basically improvising the set as we went.” - Guy Picciotto 25/5/2018

It is only possible to estimate a choice model from the Fugazi Live Series data because of the way that the songs were chosen quite freely as each show was performed. If fixed set lists had been used for many shows this sort of analysis probably would not be possible.

The Fugazi Live Series data includes … how many choices of songs made by the band during their live shows?

nrow(Repeatr1)
#> [1] 23261

This data was used to estimate the strength of preference for each of the songs in their live music repertoire.

Song availability was considered at both repertoire and gig level. Songs were only considered available from the time they were first played, but thereafter they were assumed to be always available. There is some evidence that certain songs were discontinued but this has not been represented here.

“To the guy who is yelling for Steady Diet, I got bad news for you. Every time before we go out for a tour, we take a week to go through every record that we’ve done, and we relearn every song and we make sure that we know everything, because we make up the sets as we go, and we relearn everything so we can play anything at anytime… but there’s three songs that we have not been able to remember how to play, one of them is Steady Diet, I am sorry to say, the other is Polish, and the other one, I can’t remember the name of, but basically, you can call out anything else, but if you call out Steady Diet, you are wasting your breath” - Guy Picciotto 27/6/2001

Within any given gig, the songs were sorted in the order that they were performed, and once a song had been played it was assumed to be unavailable for the rest of the gig. Interestingly, there were a few exceptions to this rule. One was a 1991 gig in Birmingham, Alabama, where the show notes comment “Featuring the one-time attempt of our ‘Two for Tuesday’ gag. No one appeared to notice, so we shelved the idea.” On that occasion, the song “Greed” was played twice. Another case was a 1998 gig in Richmond, Virginia where “Great Cop” was played twice due to a specific situation.

The age of the songs needs considering because bands generally prioritise new material when they play live and Fugazi was no exception to this. Dummy variables (on/off) were used to represent the age of the songs at the time of each gig, as follows:

Age (years) Dummy variable
0 < age < 1 (omitted)
1 ≤ age < 2 yearsold_1
2 ≤ age < 3 yearsold_2
3 ≤ age < 4 yearsold_3
4 ≤ age < 5 yearsold_4
5 ≤ age < 6 yearsold_5
6 ≤ age < 7 yearsold_6
7 ≤ age < 8 yearsold_7
8 ≤ age yearsold_8

The above categories were defined after some experimentation to establish which categories deserved separate representation and which could be grouped together. The “less than a year old” variable was omitted because it is always necessary to omit one of each set of dummy variables in this type of model. An omitted dummy variable has a parameter of zero by definition and provides a reference point for the parameters whose values are estimated.

A dummy variable (on/off) was defined for each song, such that the corresponding parameters would represent the strength of preference for playing each song live. The dummy variable for ‘23 Beats Off’ was omitted and therefore the preference parameter for this song was zero by definition.
The formula used for the preferred model was this one:

choice ~ yearsold_1 + yearsold_2 + yearsold_3 + yearsold_4 + yearsold_5 + yearsold_6 + yearsold_7 + yearsold_8 + song2 + … + song92

The model was fitted by an optimisation process which estimated a parameter for each of the independent variables, such that the likelihood of correctly predicting the observed choices would be maximised.

The parameters related to the age of the songs support the hypothesis that recent material tended to be favoured in the band’s choices of songs to be performed.

The implied preferences for each song are shown here in descending order of preference:


myresults <- fugazi_song_preferences %>%
  arrange(desc(Estimate))
knitr::kable((myresults), "pipe")
rank_rating songid song Estimate z-value
1 10 break 3.6143064 16.6111851
2 7 bed for the scraping 3.6128192 17.4332803
3 69 reclamation 3.5935234 17.6421540
4 23 do you like me 3.4379182 16.5298244
5 20 closed captioned 3.3322172 15.1039183
6 17 cashout 3.3202293 13.0954564
7 62 place position 3.2275551 14.5945262
8 92 waiting room 3.1541001 14.9952832
9 85 target 3.1518658 15.1821376
10 68 recap modotti 3.1312985 14.1191352
11 59 number 5 3.0213701 13.0531172
12 9 blueprint 3.0143145 14.7716339
13 76 sieve-fisted find 2.9647276 14.2803760
14 55 merchandise 2.9591308 13.9945820
15 70 rend it 2.9309183 14.3652676
16 4 arpeggiator 2.8760462 13.0454844
17 8 birthday pony 2.7838979 13.2283510
18 54 margin walker 2.7817008 13.3286434
19 28 facet squared 2.7815974 13.5292340
20 89 turnover 2.7490138 13.2269380
21 53 long division 2.7072776 13.0992433
22 67 public witness program 2.7000944 13.1211953
23 3 argument 2.6962560 10.9504971
24 60 oh 2.6796377 11.2096799
25 86 the kill 2.6630106 9.5807268
26 29 fd 2.6153119 11.6092461
27 34 forensic scene 2.6076646 12.4013463
28 16 by you 2.5792735 12.4571466
29 77 smallpox champion 2.5674477 12.4543068
30 31 five corporations 2.5590837 11.3915044
31 2 and the same 2.5483178 11.9748747
32 32 floating boy 2.5341162 11.2417622
33 44 instrument 2.5014569 12.1474299
34 39 great cop 2.4108197 11.7023471
35 50 life and limb 2.4093672 7.7363774
36 78 song #1 2.3964139 11.2165667
37 37 give me the cure 2.3854274 11.3026611
38 90 two beats off 2.3836022 11.4564071
39 26 ex-spectator 2.3669338 9.0909103
40 35 full disclosure 2.3593271 7.9184566
41 71 repeater 2.3319145 11.2857438
42 25 epic problem 2.3177913 8.2542613
43 82 styrofoam 2.2770863 10.9621279
44 83 suggestion 2.2734283 10.7199605
45 58 no surprise 2.2657970 9.8847272
46 65 promises 2.2555166 10.7888959
47 5 back to base 2.2006300 10.1652509
48 6 bad mouth 2.1885224 10.2200729
49 27 exit only 2.1737275 10.4668208
50 75 shut the door 2.1679910 10.3595272
51 57 nightshop 2.1603747 8.2667822
52 84 sweet and low 2.1422481 10.3805311
53 74 runaway return 2.0136848 9.6386604
54 24 downed city 1.9047863 8.6506559
55 13 bulldog front 1.9002255 8.8802255
56 30 fell, destroyed 1.8902556 8.8192531
57 93 walken’s syndrome 1.8861889 8.8329185
58 72 reprovisional 1.8814187 8.9234870
59 52 long distance runner 1.8481137 8.4072186
60 15 burning too 1.8225562 8.5066688
61 81 strangelight 1.8223904 5.7281795
62 18 cassavetes 1.8204941 8.6123599
63 61 pink frosty 1.8059424 7.6590067
64 14 burning 1.8025394 8.3411324
65 73 returning the screw 1.7811472 8.3075120
66 49 latin roots 1.7613426 8.3200725
67 40 greed 1.7280112 8.0541744
68 22 dear justice letter 1.6090935 7.5114160
69 19 caustic acrostic 1.5742047 6.4152136
70 79 stacks 1.5718439 7.3563291
71 47 last chance for a slow dance 1.4997976 6.9818891
72 12 brendan #1 1.4712047 6.7833518
73 51 lockdown 1.4696940 6.6948683
74 46 kyeo 1.4071358 6.4065261
75 56 nice new outfit 1.3099229 5.9900866
76 33 foreman’s dog 1.2619005 4.6449730
77 11 break-in 1.2209648 5.4722930
78 45 joe #1 1.1742013 5.2336113
79 41 guilford fall 1.1490225 4.2676894
80 38 glueman 1.0987678 4.9555277
81 36 furniture 0.8808911 3.8202899
82 48 latest disgrace 0.7785647 3.0509643
83 66 provisional 0.5561949 1.3557430
84 91 version 0.5447530 2.0796726
85 80 steady diet 0.3473192 1.4089529
86 21 combination lock 0.1135257 0.3846944
87 1 23 beats off 0.0000000 NA
88 42 hello morning -0.2882303 -0.3890246
89 87 the word -0.4316491 -1.5537032
90 43 in defense of humans -0.5589729 -1.9445391
91 88 turn off your guns -1.0798732 -3.2665833
92 94 world beat -1.8004092 -2.4487369
93 63 polish -1.8005176 -3.9693480
94 64 preprovisional -2.0599299 -4.5206143

It is hard to say exactly whose preferences are represented by these results. It seems reasonable to assume that they mainly represent the band’s preferences, more often than not Ian MacKaye and Guy Picciotto, but the preferences of the audience may also have influenced the choice of the songs that were performed, directly or indirectly.

“We played without a setlist from the first show to the last show. We never had a program for the night before we hit the stage. Right before we went on stage we’d get together and decide on a song to start with. From then on, we were basically improvising the set as we went. That meant, before we went on tour, we had to have these insanely long rehearsals where we relearned very piece of music that we knew so that everyone was ready. So, every night was completely different show. You could pick from over 100 songs. The only methodology we had was that we alternated singing. Once Ian was wrapping up his song, I knew that I had to have a song ready to go for my thing.” - Guy Picciotto, 25/5/2018 Source: https://web.archive.org/web/20201123023401/https://www.abc.net.au/doublej/music-reads/features/fugazi-the-past-the-future-and-the-ethos-that-drove-them/10265848

“Do you like me?”

The following table shows ratings based on the preferences described in the section above, together with the indicators described in previous sections: performance counts and intensities. The ratings are simply the preferences normalised in such a way that the highest preference has a value of 1 and the lowest a value of 0. This way it will be easy to scale these values for comparison with ratings defined on other intervals.

knitr::kable(summary %>% select(song, chosen, intensity, rating) %>% arrange(desc(rating)), "pipe")
song chosen intensity rating
break 171 0.7467249 1.0000000
bed for the scraping 299 0.7931034 0.9997379
reclamation 594 0.7471698 0.9963373
do you like me 272 0.7214854 0.9689142
closed captioned 159 0.7989950 0.9502860
cashout 61 0.9242424 0.9481733
place position 133 0.5807860 0.9318408
waiting room 632 0.7030033 0.9188955
target 260 0.6753247 0.9185017
recap modotti 141 0.6811594 0.9148770
number 5 110 0.7586207 0.8955038
blueprint 583 0.7066667 0.8942603
sieve-fisted find 417 0.4894366 0.8855214
merchandise 477 0.5305895 0.8845350
rend it 346 0.5914530 0.8795630
arpeggiator 154 0.7403846 0.8698926
birthday pony 199 0.5168831 0.8536528
margin walker 429 0.4925373 0.8532656
facet squared 299 0.4814815 0.8532474
turnover 393 0.4639906 0.8475050
long division 498 0.5879575 0.8401496
public witness program 264 0.5146199 0.8388837
argument 66 0.6534653 0.8382072
oh 80 0.5839416 0.8352785
the kill 35 0.6034483 0.8323482
fd 115 0.5528846 0.8239420
forensic scene 201 0.5248042 0.8225943
by you 233 0.4884696 0.8175908
smallpox champion 252 0.4883721 0.8155067
five corporations 109 0.4759825 0.8140327
and the same 375 0.4175947 0.8121353
floating boy 106 0.4669604 0.8096325
instrument 272 0.4665523 0.8038768
great cop 268 0.4581197 0.7879033
life and limb 21 0.4772727 0.7876474
song #1 321 0.3570634 0.7853645
give me the cure 368 0.4153499 0.7834283
two beats off 370 0.4378698 0.7831066
ex-spectator 45 0.4455446 0.7801691
full disclosure 25 0.4310345 0.7788285
repeater 409 0.4886499 0.7739975
epic problem 32 0.4923077 0.7715084
styrofoam 287 0.3642132 0.7643348
suggestion 339 0.3791946 0.7636901
no surprise 89 0.3903509 0.7623452
promises 380 0.4377880 0.7605335
back to base 136 0.3607427 0.7508605
bad mouth 279 0.3113839 0.7487267
exit only 275 0.3642384 0.7461193
shut the door 322 0.3779343 0.7451084
nightshop 44 0.4356436 0.7437661
sweet and low 249 0.4422735 0.7405716
runaway return 265 0.3243574 0.7179142
downed city 111 0.2944297 0.6987224
bulldog front 225 0.2571429 0.6979187
fell, destroyed 137 0.3051225 0.6961616
walken’s syndrome 141 0.2732558 0.6954449
reprovisional 275 0.3223916 0.6946042
long distance runner 113 0.3005319 0.6887347
burning too 214 0.2456946 0.6842306
strangelight 19 0.3333333 0.6842014
cassavetes 171 0.2705696 0.6838672
pink frosty 67 0.2669323 0.6813027
burning 214 0.2407199 0.6807029
returning the screw 134 0.2596899 0.6769329
latin roots 182 0.2496571 0.6734426
greed 188 0.2206573 0.6675684
dear justice letter 148 0.2132565 0.6466110
caustic acrostic 51 0.2007874 0.6404623
stacks 153 0.2214182 0.6400463
last chance for a slow dance 136 0.2151899 0.6273492
brendan #1 158 0.1854460 0.6223101
lockdown 164 0.1834452 0.6220439
kyeo 173 0.1928651 0.6110189
nice new outfit 115 0.1666667 0.5938866
foreman’s dog 33 0.1875000 0.5854234
break-in 134 0.1495536 0.5782090
joe #1 131 0.1457175 0.5699677
guilford fall 32 0.1397380 0.5655303
glueman 133 0.1506229 0.5566736
furniture 95 0.1056730 0.5182761
latest disgrace 39 0.1034483 0.5002426
provisional 8 0.0092807 0.4610532
version 34 0.0899471 0.4590367
steady diet 46 0.0683507 0.4242420
combination lock 21 0.0558511 0.3830393
23 beats off 26 0.0503876 0.3630321
hello morning 2 0.0444444 0.3122358
the word 31 0.0344828 0.2869604
in defense of humans 25 0.0278087 0.2645214
turn off your guns 15 0.0166852 0.1727205
world beat 2 0.0078740 0.0457367
polish 6 0.0087591 0.0457176
preprovisional 6 0.0069364 0.0000000

Breaking ranks

The rank order of songs derived from the ratings is not very strong. Some of the differences between the ratings are very small and the differences between the ratings of adjacent songs in the table turned out to be insignificant. The rankr function makes it easy to test which differences between song ratings are significant and which are not. For instance, do the results really indicate that “Bed for the Scraping” was preferred over “Reclamation”?

songstobecompared <- songstobecompared <- summary %>% slice(seq(from=1, to=2, by=1))
mycomparisons <- rankr(coeftable = results_ml_Repeatr4, vcovmat = vcovmat_ml_Repeatr4, mysongidlist = songstobecompared)
#> Joining with `by = join_by(songid1)`
#> Joining with `by = join_by(songid2)`
mycomparisons <- mycomparisons %>%
  select(song1, song2, mycoef1, mycoef2, mycoefdiff, myz) %>%
  rename(coef1 = mycoef1, coef2 = mycoef2, coefdiff = mycoefdiff, z = myz)
knitr::kable(mycomparisons, format = "pipe", digits = 3)
song1 song2 coef1 coef2 coefdiff z
waiting room bulldog front 3.154 1.9 1.254 1.727

A z-statistic of 1.96 or greater indicates a difference that is statistically significant with 95% confidence. The difference between ‘Bed for the Scraping’ and ‘Reclamation’ is not statistically significant. In fact, none of the differences between adjacent songs are statistically significant. However, some of the differences between songs further apart on the table are significant, as can be seen below.

songstobecompared <- songstobecompared <- songstobecompared <- summary %>% slice(seq(from=1, to=92, by=8))
mycomparisons <- rankr(coeftable = results_ml_Repeatr4, vcovmat = vcovmat_ml_Repeatr4, mysongidlist = songstobecompared)
#> Joining with `by = join_by(songid1)`
#> Joining with `by = join_by(songid2)`
mycomparisons <- mycomparisons %>%
  select(song1, song2, mycoef1, mycoef2, mycoefdiff, myz) %>%
  rename(coef1 = mycoef1, coef2 = mycoef2, coefdiff = mycoefdiff, z = myz)
knitr::kable(mycomparisons, format = "pipe", digits = 3)
song1 song2 coef1 coef2 coefdiff z
waiting room and the same 3.154 2.548 0.606 0.840
and the same turnover 2.548 2.749 -0.201 -0.761
turnover styrofoam 2.749 2.277 0.472 1.338
styrofoam steady diet 2.277 0.347 1.930 7.437
steady diet returning the screw 0.347 1.781 -1.434 -6.133
returning the screw instrument 1.781 2.501 -0.720 -4.199
instrument fell, destroyed 2.501 1.890 0.611 5.118
fell, destroyed place position 1.890 3.228 -1.337 -11.291
place position arpeggiator 3.228 2.876 0.352 2.714
arpeggiator the kill 2.876 2.663 0.213 0.905
the kill hello morning 2.663 -0.288 2.951 12.655

So, the ranks should not be interpreted rigidly. Any two of the adjacent songs in the table could be interchanged and the resulting ranking would be just as valid.

Rating releases

The song ratings calculated using the Fugazi Live Series (FLS) data were used to calculate average ratings for the band’s studio releases. The results are shown below.

releases_data <- releases_summary 
knitr::kable(releases_data %>% arrange(desc(rating)), "pipe")
releaseid release first_debut last_debut release_date songs count shows intensity rating
9 the argument 1998-11-29 2001-06-21 2001-10-16 10 428 79 0.5380 0.8000
8 end hits 1996-01-30 1998-05-01 1998-04-24 13 1360 221 0.4792 0.7961
4 repeater 1987-09-03 1990-05-17 1990-03-01 11 3879 846 0.4171 0.7784
1 fugazi 1987-09-03 1988-06-15 1988-11-19 7 2190 888 0.3514 0.7357
7 red medicine 1993-04-24 1994-11-27 1995-05-12 13 2055 392 0.4023 0.7352
6 in on the killtaker 1991-07-28 1993-02-05 1993-06-18 12 2558 565 0.3760 0.7305
2 margin walker 1987-09-26 1988-11-14 1989-06-15 6 1570 876 0.2981 0.6989
3 3 songs 1987-09-03 1987-10-16 1989-12-01 3 586 897 0.2177 0.6446
5 steady diet of nothing 1987-10-07 1991-04-12 1991-08-01 11 2455 752 0.2859 0.6305
10 furniture 1987-09-03 2001-04-27 2001-10-16 3 207 363 0.3029 0.5748
11 first demo 1987-09-03 1987-09-03 2014-11-18 3 71 898 0.0263 0.2374
13 unreleased 1988-10-31 1996-01-30 NA 2 8 560 0.0074 0.0229