Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----setup, warning = FALSE, message = FALSE----------------------------------
#Load discounting AUC package
library(discAUC)
#Load dplyr, which aids in data manipulation
library(dplyr)
## -----------------------------------------------------------------------------
#Example Tidy Delay Discounting Data
examp_DD
## ----filter_examples----------------------------------------------------------
#Filter example DD data by subject (relies on dplyr library)
examp_DD %>%
filter(subject == 103)
#Filter example DD data by outcome type
examp_DD %>%
filter(outcome=="alcohol")
## ----med_indiff---------------------------------------------------------------
#Subject -987.987 are precalculated median indifference points for each outcome.
DD_med_indiff = examp_DD %>%
filter(subject == -987.987,
outcome == "$100 Gain")
PD_med_indiff = examp_PD %>%
filter(subject == -987.987,
outcome == "$100 Gain")
#Note that the median indifference point subject number (-987.987) is truncated in the output.
DD_med_indiff
PD_med_indiff
## ----DD_simple----------------------------------------------------------------
AUC(dat = DD_med_indiff,
indiff = "prop_indiff",
x_axis = "delay_months",
amount = 1,
grouping = "subject")
## ----PD_simple----------------------------------------------------------------
AUC(dat = PD_med_indiff,
indiff = "prop_indiff",
x_axis = "prob",
amount = 1,
grouping = "subject",
prob_disc = TRUE)
## ----AUCord-------------------------------------------------------------------
#Ordinal AUC for DD data
AUC(dat = DD_med_indiff,
indiff = "prop_indiff",
x_axis = "delay_months",
amount = 1,
grouping = "subject",
type = "ordinal")
#Ordinal AUC for PD data
AUC(dat = PD_med_indiff,
indiff = "prop_indiff",
x_axis = "prob",
amount = 1,
groupings = "subject",
prob_disc = TRUE,
type = "ordinal")
## ----AUClog-------------------------------------------------------------------
#Ordinal AUC for DD data
AUC(dat = DD_med_indiff,
indiff = "prop_indiff",
x_axis = "delay_months",
amount = 1,
grouping = "subject",
type = "log")
#Ordinal AUC for PD data with log base 10
AUC(dat = PD_med_indiff,
indiff = "prop_indiff",
x_axis = "prob",
amount = 1,
groupings = "subject",
prob_disc = TRUE,
type = "log",
log_base = 10)
## ----one_factor_groups--------------------------------------------------------
#For demonstration, filter for median indifference points for all outcomes.
DD_med_outcomes = examp_DD %>%
filter(subject == -987.987)
#Simple AUC
AUC(dat = DD_med_outcomes,
indiff = "prop_indiff",
x_axis = "delay_months",
amount = 1,
grouping = "outcome")
## ----mult_grouping------------------------------------------------------------
#AUC by outcome and subject
AUC(dat = examp_DD,
indiff = "prop_indiff",
x_axis = "delay_months",
amount = 1,
grouping = c("outcome", "subject"))
## ----mult_grouping2-----------------------------------------------------------
#AUC by outcome and subject
AUC(dat = examp_DD,
indiff = "prop_indiff",
x_axis = "delay_months",
amount = 1,
grouping = c("outcome", "subject"))
#AUC by subject and outcome
AUC(dat = examp_DD,
indiff = "prop_indiff",
x_axis = "delay_months",
amount = 1,
grouping = c("subject", "outcome"))
## ----AUC_zeros----------------------------------------------------------------
#Examp_DD data did not include indifference points when delay = 0
AUC_zeros(dat = examp_DD,
indiff = "prop_indiff",
x_axis = "delay_months",
amount = 1,
groupings = c("subject","outcome"))
## ----AUC_zeros_prob-----------------------------------------------------------
#Examp_PD data did not include indifference points when prob = 1
AUC_zeros(dat = examp_PD,
indiff = "prop_indiff",
x_axis = "prob",
amount = 1,
groupings = c("subject","outcome"),
prob_disc = TRUE
)
## ----odds_against-------------------------------------------------------------
#Make sure to indicate groupings, if necessary
prep_odds_against(dat = examp_PD,
x_axis = "prob",
groupings = c("subject","outcome"))
## ----prep_ordinals------------------------------------------------------------
#Groupings must be specified, if necessary
prep_ordinal(dat = examp_DD,
x_axis = "delay_months",
groupings = c("subject","outcome"))
## ----prep_ordinals_prob-------------------------------------------------------
prep_ordinal(dat = examp_PD,
x_axis = "prob",
groupings = c("subject","outcome"),
prob_disc = TRUE)
## ----prep_ordinal_all_create_data---------------------------------------------
#Create data based on values included in above example
examp_ord_all =
tibble(
sub = c(1, 1, 1, 2, 2, 2),
delay_weeks = c(1, 4, 26, 1, 13, 52)
)
#Groupings are not necessary
prep_ordinal_all(dat = examp_ord_all,
x_axis = "delay_weeks")
## ----log_corr-----------------------------------------------------------------
prep_log_AUC(dat = examp_DD,
x_axis = "delay_months",
type = "corr")
## ----log_corr_2---------------------------------------------------------------
prep_log_AUC(dat = examp_DD,
x_axis = "delay_months",
type = "corr",
correction = .25)
## ----log_adjust_transformed values--------------------------------------------
#Initial vector with delays (in weeks)
delays = c(0, 0.25, 1, 4, 26)
#Log transform delays
log_delays = log(delays, base = 2)
#Display values
log_delays
#Eliminate log(0) = -Inf
non_zero_log = log_delays[-1]
#Calculate the difference between succesive non-zero indifference points
log_diff = diff(non_zero_log)
#Print log_diff
log_diff
#Adjustment factor
adjustment = mean(log_diff)
#Adjust log delays
new_log_delays = log_delays + adjustment
#Set log(0) = 0
new_log_delays[1] = 0
#Print adjusted log delays
new_log_delays
## ----log_adjust---------------------------------------------------------------
#Default adjust method
prep_log_AUC(dat = examp_DD,
x_axis = "delay_months",
type = "adjust")
## ----log_adjust_no_dec--------------------------------------------------------
#Log adjust method with no decimal correction
prep_log_AUC(dat = examp_DD,
x_axis = "delay_months",
type = "adjust",
dec_offset = FALSE)
## ----log_IHS------------------------------------------------------------------
#IHS transformation
prep_log_AUC(dat = examp_DD,
x_axis = "delay_months",
type = "IHS")
## ----combinations-------------------------------------------------------------
#Calculate odds against
examp_PD_odds = prep_odds_against(dat = examp_PD,
x_axis = "prob",
groupings = c("subject","outcome"))
#Print odds against
examp_PD_odds
#Add zeros, but already converted to odds against so prob_disc = FALSE
#Note the x_axis value was changed to "prob_against" which was the newly added column
examp_PD_odds = AUC_zeros(dat = examp_PD_odds,
x_axis = "prob_against",
indiff = "prop_indiff",
amount = 1,
groupings = c("subject","outcome"),
prob_disc = FALSE)
#Print odds agianst with zeros
examp_PD_odds
#Odds against to log_odds against.
#Note the x_axis value was changed to "prob_against" which was the newly added column
examp_PD_log_odds = prep_log_AUC(dat = examp_PD_odds,
x_axis = "prob_against",
type = "adjust")
examp_PD_log_odds
## ----auc----------------------------------------------------------------------
AUC(dat = examp_PD_log_odds,
indiff = "prop_indiff",
x_axis = "log_prob_against",
amount = 1,
groupings = c("subject","outcome"))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.