10.5 Recode the data

library(dplyr)
library(forcats)
melanoma <- melanoma %>%
  mutate(
    # Overall survival
    status_os = if_else(status == 2, 0, # "still alive"
                       1), # "died of melanoma" or "died of other causes"
    
    # Diease-specific survival
    status_dss = if_else(status == 2, 0, # "still alive"
                        if_else(status == 1, 1, # "died of melanoma"
                               0)), # "died of other causes is censored"
    
    # Competing risks regression
    status_crr = if_else(status == 2, 0, # "still alive"
                        if_else(status == 1, 1, # "died of melanoma"
                               2)), # "died of other causes"
    
    # Label and recode other variables
    age = ff_label(age, "Age (years)"), # ff_label table friendly  labels
    thickness = ff_label(thickness, "Tumour thickness (mm)"),
    sex = factor(sex) %>% 
      fct_recode("Male" = "1", 
                 "Female" = "0") %>% 
      ff_label("Sex"),
    ulcer = factor(ulcer) %>% 
      fct_recode("No" = "0",
                 "Yes" = "1") %>% 
      ff_label("Ulcerated tumour")
  )