Analysis of Prostate Data
prostate |>
mutate(aa = factor(aa, levels = c(0, 1),
labels = c("White", "African-American"))) |>
mutate(fam_hx = factor(fam_hx, levels = c(0, 1),
labels = c("No Family History", "Fhx of Prostate Cancer"))) ->
prostate_factors
prostate_factors |>
select(age, p_vol, preop_psa, aa, fam_hx) |>
group_by(aa, fam_hx) |>
summarize(across(age:preop_psa, ~ mean(.x, na.rm = TRUE)))
## `summarise()` has grouped output by 'aa'. You can override using the `.groups`
## argument.
## # A tibble: 4 × 5
## # Groups: aa [2]
## aa fam_hx age p_vol preop_psa
## <fct> <fct> <dbl> <dbl> <dbl>
## 1 White No Family History 61.8 56.9 8.06
## 2 White Fhx of Prostate Cancer 59.5 57.3 7.22
## 3 African-American No Family History 60.7 54.3 9.90
## 4 African-American Fhx of Prostate Cancer 60.1 51.4 8.71
ggplot(prostate_factors) +
aes(x = p_vol, y = preop_psa, colour = aa) +
geom_point() +
geom_smooth(method = "lm") +
facet_grid(aa ~fam_hx) +
labs(x = "Prostate Volume", y = "Preoperative PSA",
title = "Relationship Between Prostate Volume and Preop PSA, \nSubdivided by Family History and Race") +
theme(legend.position = "bottom")
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 11 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 11 rows containing missing values or values outside the scale range
## (`geom_point()`).

Statistical Testing
prostate_factors |>
t_test(formula = preop_psa ~aa,
detailed = TRUE)
## # A tibble: 1 × 15
## estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p
## * <dbl> <dbl> <dbl> <chr> <chr> <chr> <int> <int> <dbl> <dbl>
## 1 -1.89 7.86 9.75 preop… White Afric… 259 54 -1.96 0.0534
## # ℹ 5 more variables: df <dbl>, conf.low <dbl>, conf.high <dbl>, method <chr>,
## # alternative <chr>