library(tidyverse)
# Reading in the nfl drives data
drives <- read.csv("https://raw.githubusercontent.com/Shammalamala/STA4504/refs/heads/main/data/ch2/nfl%20drives.csv")
Looking at the way drives can begin and end:
unique(drives$drive_start)
## [1] "Fumble" "Interception" "Kickoff" "Punt"
unique(drives$drive_end)
## [1] "Field Goal" "Punt" "Touchdown" "Turnover"
Motivating Question: Is a team more likely to score
a touchdown after a turnover compared to a punt or kickoff?
Relative risk is often used for two binary variables, so let’s
convert our data into two binary variables:
drive_start: turnover - Interception/Fumble vs kick -
Kickoff/Punt
drive_end: TD - Touchdown vs noTD - Field
Goal/Turnover/Punt
drives2 <-
drives |>
mutate(
drive_start = if_else(drive_start %in% c("Interception", "Fumble"),
true = "turnover",
false = "kick") |>
factor(),
drive_end = if_else(drive_end == "Touchdown",
true = "TD",
false = "noTD") |>
factor()
)
Next, let’s display the results in a two-way table using
xtabs()
# Displaying a two-way table using xtabs()
drive_freq <-
xtabs(formula = ~ drive_start + drive_end, data = drives2)
drive_freq
## drive_end
## drive_start noTD TD
## kick 4055 1200
## turnover 571 239
And converting the table from counts to conditional proportions using
prop.table(margin = "drive_start")
drive_freq |>
prop.table(margin = "drive_start") |>
round(digits = 3)
## drive_end
## drive_start noTD TD
## kick 0.772 0.228
## turnover 0.705 0.295
c(
'Pearson test:' = rstatix::chisq_test(drive_freq)$p,
"Fisher's Test" = rstatix::fisher_test(drive_freq)$p
)
## Pearson test: Fisher's Test
## 3.959419e-05 5.233613e-05
For a bigger than 2x2 table
LS0tDQp0aXRsZTogIlR3byBCaW5hcnkgVmFyaWFibGVzIC0gRmlzaGVyJ3MgRXhhY3QgVGVzdCINCmF1dGhvcjogIkNoYXB0ZXIgMiINCmRhdGU6ICJTVEEgNDUwNCINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICBmaWdfd2lkdGg6IDEwDQogICAgZmlnX2hlaWdodDogNg0KICAgIGZpZ19jYXB0aW9uOiB0cnVlDQogICAgdG9jOiB0cnVlDQogICAgdG9jX2Zsb2F0OiB0cnVlDQogICAgbnVtYmVyX3NlY3Rpb25zOiBmYWxzZQ0KICAgIGNvZGVfZm9sZGluZzogaGlkZQ0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICBzbW9vdGhfc2Nyb2xsOiB0cnVlDQogICAgdGhlbWU6IGx1bWVuDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUsDQogICAgICAgICAgICAgICAgICAgICAgZmlnLmFsaWduID0gImNlbnRlciIpDQpgYGANCg0KDQpgYGB7ciBwYWNrYWdlc19kYXRhLCBtZXNzYWdlID0gRiwgd2FybmluZyA9IEZ9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCg0KIyBSZWFkaW5nIGluIHRoZSBuZmwgZHJpdmVzIGRhdGENCmRyaXZlcyA8LSByZWFkLmNzdigiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL1NoYW1tYWxhbWFsYS9TVEE0NTA0L3JlZnMvaGVhZHMvbWFpbi9kYXRhL2NoMi9uZmwlMjBkcml2ZXMuY3N2IikgDQpgYGANCg0KDQpMb29raW5nIGF0IHRoZSB3YXkgZHJpdmVzIGNhbiBiZWdpbiBhbmQgZW5kOg0KDQoNCmBgYHtyIGRyaXZlX3N0YXJ0X2VuZH0NCnVuaXF1ZShkcml2ZXMkZHJpdmVfc3RhcnQpDQp1bmlxdWUoZHJpdmVzJGRyaXZlX2VuZCkNCg0KYGBgDQoNCioqTW90aXZhdGluZyBRdWVzdGlvbjoqKiBJcyBhIHRlYW0gbW9yZSBsaWtlbHkgdG8gc2NvcmUgYSB0b3VjaGRvd24gYWZ0ZXIgYSB0dXJub3ZlciBjb21wYXJlZCB0byBhIHB1bnQgb3Iga2lja29mZj8NCg0KDQoNClJlbGF0aXZlIHJpc2sgaXMgb2Z0ZW4gdXNlZCBmb3IgdHdvIGJpbmFyeSB2YXJpYWJsZXMsIHNvIGxldCdzIGNvbnZlcnQgb3VyIGRhdGEgaW50byB0d28gYmluYXJ5IHZhcmlhYmxlczoNCg0KLSBgZHJpdmVfc3RhcnRgOiB0dXJub3ZlciAtIEludGVyY2VwdGlvbi9GdW1ibGUgdnMga2ljayAtIEtpY2tvZmYvUHVudA0KLSBgZHJpdmVfZW5kYDogVEQgLSBUb3VjaGRvd24gdnMgbm9URCAtIEZpZWxkIEdvYWwvVHVybm92ZXIvUHVudCANCg0KYGBge3IgZHJpdmVzMn0NCmRyaXZlczIgPC0gDQogIGRyaXZlcyB8PiANCiAgbXV0YXRlKA0KICAgIGRyaXZlX3N0YXJ0ID0gaWZfZWxzZShkcml2ZV9zdGFydCAlaW4lIGMoIkludGVyY2VwdGlvbiIsICJGdW1ibGUiKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSA9ICJ0dXJub3ZlciIsDQogICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlID0gImtpY2siKSB8PiANCiAgICAgICAgICAgICAgICAgIGZhY3RvcigpLA0KICAgICAgICAgDQogICAgZHJpdmVfZW5kID0gaWZfZWxzZShkcml2ZV9lbmQgPT0gIlRvdWNoZG93biIsDQogICAgICAgICAgICAgICAgICAgICAgICB0cnVlID0gIlREIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlID0gIm5vVEQiKSB8PiANCiAgICAgICAgICAgICAgICBmYWN0b3IoKQ0KICApDQpgYGANCg0KTmV4dCwgbGV0J3MgZGlzcGxheSB0aGUgcmVzdWx0cyBpbiBhIHR3by13YXkgdGFibGUgdXNpbmcgYHh0YWJzKClgIA0KDQpgYGB7ciBkcml2ZV9mcmVxfQ0KIyBEaXNwbGF5aW5nIGEgdHdvLXdheSB0YWJsZSB1c2luZyB4dGFicygpDQpkcml2ZV9mcmVxIDwtIA0KICB4dGFicyhmb3JtdWxhID0gfiBkcml2ZV9zdGFydCArIGRyaXZlX2VuZCwgZGF0YSA9IGRyaXZlczIpDQoNCmRyaXZlX2ZyZXENCmBgYA0KDQoNCkFuZCBjb252ZXJ0aW5nIHRoZSB0YWJsZSBmcm9tIGNvdW50cyB0byBjb25kaXRpb25hbCBwcm9wb3J0aW9ucyB1c2luZyBgcHJvcC50YWJsZShtYXJnaW4gPSAiZHJpdmVfc3RhcnQiKWANCg0KYGBge3IgZHJpdmVfcHJvcH0NCmRyaXZlX2ZyZXEgfD4gDQogIHByb3AudGFibGUobWFyZ2luID0gImRyaXZlX3N0YXJ0IikgfD4gDQogIA0KICByb3VuZChkaWdpdHMgPSAzKQ0KDQpgYGANCg0KYGBge3J9DQpjKA0KICAnUGVhcnNvbiB0ZXN0OicgPSByc3RhdGl4OjpjaGlzcV90ZXN0KGRyaXZlX2ZyZXEpJHAsDQogICJGaXNoZXIncyBUZXN0IiA9IHJzdGF0aXg6OmZpc2hlcl90ZXN0KGRyaXZlX2ZyZXEpJHANCikNCmBgYA0KDQojIyBGb3IgYSBiaWdnZXIgdGhhbiAyeDIgdGFibGUNCg0KDQoNCg0K