getCSC: Function to return Jacobson (et al.) Clinically Significant...

Description Usage Arguments Value Background History/development log Author(s) References See Also Examples

View source: R/getCSC.R

Description

Fairly trivial function to compute CSC, mainly useful if using group_by() piping to find CSCs for various groups/subsets in your data.

Usage

1
getCSC(formula1, data)

Arguments

formula1

defines variables to use as score ~ grp where score has scores and grp has grouping

data

is the data, typically cur_data() when called in tidyverse pipe

Value

A single numeric value for the CSC

Background

Like the CSC, the RCI comes out of the classic paper Jacobson, Follette & Revenstorf (1984). The thrust of the paper was about trying to bridge the gap between (quantitative) researchers who then, and still, tend to think in terms of aggregated data about change in therapy, and clinicians who tend to think about individual client's change.

The authors came up with two indices: the RCI, and the one here: the CSC or Clinically Significant Change (cut-off).

The authors defined three methods to set a criterion between "clinical" and "non-clinical" scores. Generally we prefer "help-seeking" and "non-help-seeking" to "clinical" and "non-clinical" to avoid automatically jumping into a disease/medical model.

For a measure cued so that higher scores indicate more problems the methods were as follows.

\loadmathjax \mjdeqn\frac

SD_HS*M_notHS + SD_notHS*M_HSSD_HS+SD_notHS

(with SD for Standard Deviation (doh!) and M for Mean)

History/development log

Started before 5.iv.21

Author(s)

Chris Evans

References

See Also

getBootCICSC for CSC and bootstrap CI around it

Other RCSC functions: classifyScoresVectorByRCI(), getBootCICSC(), getRCIfromSDandAlpha()

Other RCSC functions: classifyScoresVectorByRCI(), getBootCICSC(), getRCIfromSDandAlpha()

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
## Not run: 
# example uses very crude simulated data but illustrates utility of being able to pipe grouped
# data into getCSC()
library(tidyverse)
set.seed(12345)
n <- 250 # total sample size
scores <- rnorm(n) # get some random numbers
# now random allocation to help-seeking or non-help-seeking samples
grp <- sample(c("HS", "notHS"), n, replace = TRUE)
# and random allocation by gender
gender <- sample(c("F", "M"), n, replace = TRUE)
list(scores = scores,
    grp = grp,
    gender = gender) %>%
 as_tibble() %>%
 mutate(scores = if_else(gender == "F", scores + .13, scores), # make women .13 higher scoring
        ### then make help-seeking group score 1.1 higher
        scores = if_else(grp == "HS", scores + 1.1, scores)) -> tibDat
### now get CSC overall
tibDat %>%
 summarise(CSC = getCSC(scores ~ grp, cur_data()))

### get CSC by gender
tibDat %>%
 group_by(gender) %>%
 summarise(CSC = getCSC(scores ~ grp, cur_data()))

## End(Not run)

cpsyctc/CECPfuns documentation built on Dec. 26, 2021, 1:19 p.m.