The server stopped delivering anything but this root page on Sunday 1.xi.26. At the moment I have no helpful insights into why this has happened and it's not something that my contract with my ISP covers so this is all I can show for now.
This has brought home to me that over the last decade I have managed more and more IT for the PSYCTC/CORE projects. This shiny-server required me to learn a mix of reactive/shiny coding in R (steep learning curve for me) but it also relies on git repository management, github.com repository hosting, and then the challenges of actually running an open source shiny server.
This particular collapse of the system has underlined to me that, with all the other things I have had to learn and continue to manage, I am hitting the limits of my solo capacities so, as well as an apology, this is a plea for help. If you are comfortable with git, github.com and managing an open source server (currently on Debian, probably going to have to move to Ubuntu), or if you know someone with those skills then please Do contact me.
OK, scroll on down if you want to see what is normally here.
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
However, the following is the full list of apps, click on one you want, allow a second or so for it to open. Do contact me if you hit problems or have questions.
Apps
- Search apps
- Search interface to peer-reviewed papers relating to the CORE system
This complements paper
Paz, Unda-López, Valdiviezo-Oña, Fernando Chávez, Elias Herrera Criollo, Toscano-Molina & Evans (2025).
Mapping the growth of the CORE system tools in psychotherapy research from 1998 to 2021:
Learning from historical evidence.
Psychotherapy Research, 1–12.
Open access: https://doi.org/10.1080/10503307.2025.2457389.
- Apps giving useful values from a few inputs
- Apps saving you from looking up formulae or using a calculator
- App that gives you estimated mean and SD given sufficient of the min, q1, median, q3 and max for a dataset.
Uses the conv.fivenum() function from the metafor R package
- App that gives you the RCI (Reliable Change Index) for given baseline score SD, reliability and the inclusion interval you want
(usually .95, i.e. 95%).
Uses the getRCIfromSDandAlpha() function from the CECPfuns R package but the maths is trivial.
See also this next ...
- App which extends that to give you a plausible interval around that RCI using the confidence interval for the SD given your n.
And that links with this next ...
- App that gives you the CSC (Clinically Significant Change) method c cut off value for given referential help-seeking and
non-help-seeking means and SDs. The maths is trivial for the CSC but this does show the plot of the probabilities underpinning the CSC and that it
balances the misclassification rates (given truly Gaussian distributions!).
- App that gives you Hedges's g effect size measure given reported Cohen's d and the n. See also my
Rblog post: Hedges's g.
- App that gives you the appropriate CSC (and hence CSC classification) given a YP-CORE score, age and gender.
It allows use of lookup tables for the CSC for the UK and Ireland and for Italy. See also my Rblog post:
CSC by gender and age for more on this.
- App that gives you the predicted internal reliabilities for different lengths of measures given a reliability
and length or a measure. See also my Rblog post about
the Spearman-Brown (or Brown-Spearman!) formula that is behind this.
Links with this next ...
- App that gives you the attenuated correlation for any reliabilities of the two correlated variables and any
unattenuated correlation. See also my OMbook glossary entry:
Attenuation (by unreliability of measurement).
- More complicated app for attenuated correlations giving plot and table of values for a range of unattenuated
correlations and of reliabilities of one of the variables. And both link to this ...
- App that gives you the 'corrected' correlation from an observed correlation and the reliabilities
of the two variables. This is the inverse of the last two apps above. Again, see also my OMbook glossary entry:
Attenuation (by unreliability of measurement).
- App that gives you the mean inter-item correlation that for a given Cronbach alpha and k.. This is the inverse of the last two apps above.
- App that gives you the s value (surprisal, self-information, or Shannon entropy index) from any p value..
- App that gives correct overall (and non-risk) scores for the CORE-OM if you only have mean domain scores (and no missing data)..
- Apps giving confidence intervals from observed counts or statistics and dataset sizes
These can be useful if you have these statistics
from a report that doesn't give the confidence intervals.
- App that gives you a confidence interval around an observed proportion given the total n, x the
(smaller) number of interest within that n and the width of CI you want (usually .95, i.e. 95%). Uses the binconf() function from
the Hmisc R package which uses the Wilson method to get the CI.
- App that gives you a confidence interval around the difference between two independent proportions
given the total n, x in each dataset/group, the numbers of interest within each group n and the width of CI you want (usually .95,
i.e. 95%). Gives what I call a "biplane plot" of the two CIs.
- App that gives you a confidence interval (CI) around an observed mean given that value, either the observed
SD or SE, the width of CI you want (usually .95, i.e. 95%) and the n of the dataset from which the alpha was obtained. The maths is
parametric and can be sensitive to non-Gaussian distributions, bootstrap CI definitely preferred if you have the raw data.
- App that gives you a confidence interval (CI) around an observed SD or variance given that value,
either the observed SD or SE, the width of CI you want (usually .95, i.e. 95%) and the n of the dataset from which the
alpha was obtained. Again, the maths is parametric and can be sensitive to non-Gaussian distributions, bootstrap CI definitely
preferred if you have the raw data.
- App that gives you a confidence interval around an observed Pearson correlation given the total
n, R the correlation and the width of CI you want (usually .95, i.e. 95%). Uses basic parametric theory so treat the CI as indicative
rather than definitive. However, if all you have is the n and correlation, it's the best you can do!
- App that gives you a confidence interval around an observed Spearman correlation given the total n,
Rs the correlation and the width of CI you want (usually .95, i.e. 95%). I used to say the Pearson CI could be used but that is a very poor
approximation, this is better.
- App that gives you a confidence interval (CI) around an observed Cronbach alpha value
given that value, the width of CI you want (usually .95, i.e. 95%) and the n of the dataset from which the alpha was obtained.
The maths is parametric but fairly robust to non-Gaussian distributions. See also the next one ...
- Apps giving p values
I am generally not keen on p values as they are so overused and misunderstood but this one can be useful ....
- App giving a p value for the difference between two Cronbach alpha values from independent samples.
- Utility Apps
So far just the one ....
- App giving you a random permutation of n objects. This is mainly to support using the method of derangements
which is part of what I call 'rigorous idiography'..
- Apps to give plots from population parameters or sample statistics
- App that gives sample statistics, histogram, ecdf and qqplot for samples from a true Gaussian population.
You input the sample size, mean, SD you want and the number of histogram bins (and the random number seed: to get replicable samples).
Mainly for teaching/illustration.
- App that gives a plot of the CIs around an observed Pearson correlation for a range of dataset sizes (n).
The CI can be anything from .7 to .999 but defaults to .95, i.e. 95%. This is a parametric CI as it assumes you only have an R value of interest
to you, not data. Probably mainly for teaching/illustration.
- Illustrative and modelling apps
- App to create samples of data from various population distributions
Currently it has just Gaussian and uniform distributions as these are the most common in pure modelling distributions in our field.
You control the seed (to get replicable samples), the n and the population parameters and you can get the data as space,
comma, semicolon and tab spaced vectors or as a table that you can download in spreadsheet formats. You can use this to generate data
to feed into other data crunching apps here as those expand.
- Model of a simple screening design taking the n, prevalence and the sensitivity and specificity of the screening test.
Gives full screening table and the PPV and NPV. Changing the prevalence allows you to see how much this affects PPV and NPV. Created to complement the
OMbook glossary entry about screening.
- Model of how the statistical power to detect an effect is affected by using the Bonferroni correction for multiple tests.
Created to complement OMbook glossary
entry about the Bonferroni correction.
- Apps using uploaded file data. These apps can generally take data from CSV, TSV (Tab Separated Variables), R format, SPSS .sav file,
Excel .xlsx and .xls or Libre/OpenOffice .ods files
- App that analyses datasets of one or two YP-CORE scores per participant.
This allows you to upload spreadsheet data in CSV, Excel or Libre/Open Office based on template files (below).
You can choose the appropriate referential data, currently the new improved reference values for the UK and Ireland,
the older UK values and the current Italian values. It then uses those and the age and gender of the participant to
give the RCSC categories but it also has a pretty extensive menu of analyses of the data and plots including cats' cradle
and Jacobson plots. Try it with the example data below!
- App to give hashed values when pseudonymising data.
You select a variable, usually the ID variable you were using. You give the app the
hash key phrase you want used and it creates the hashed values and allows you to download the original ID code (as text values)
and the hashed values.
- App that gives a forest plot of rates with chi squared and Fisher test of differences.
It takes a dataset of year, total n and n improved values for year on year data from practitioners or services.
First written to complement the
Does brief therapy yield better outcomes? post in the excellent
Therapy Meets Numbers website.
- App that takes data from file upload for histogram and summary statistics.
This gives a downloadable histogram with some configuration and downloadable summary statistics.
Non-numeric values and missing values are noted but ignored.
- App that gives you a confidence interval (CI) around observed quantiles of a distribution given
the data, the quantiles you want and
the width of CI you want (usually .95, i.e. 95%) and the n of the dataset from which the alpha was obtained.
Uses Nyblom's method to get robust CIs for the quantiles. New version, as of 5.vi.24 allows uploading of data as well as just pasting it in.
- App that scores CORE-OM item data . This takes an Excel file of the format I created to score CORE-OM
data collected with Microsoft forms. This is proof of concept really and should be followed by apps allowing CORE-OM, and then other CORE measures',
item scores to be uploaded and scored. It gives all the CORE-OM scores including the CORE-6D utility score and also gives the scores for the embedded
items of all the shorter adult measures that are derived from the CORE-OM.
Usage statistics
For those with incurable geeky curiosity (OK, mostly for my insatiable geeky curiosity!) I have created a breakdown of the log data
here.
As above: do please contact me if you hit problems or have questions.
Licence and using all or some of the code
All the code and other things on the server are licenced under a
"Creative Commons, Attribution Licence-ShareAlike" licence.
As long as you respect the terms of the licence that entitles you to use code from the site or the whole site and you can also
draw on the code to create your own variations that do what you need but you must then release them under the same licence,
i.e. you must make them available for people to dowload and you must acknowledge that the code you used came from here.
Please respect that and put an acknowledgement and link back to here if re-using anything from here.
Do please also contact me if you do reuse all or anything: I'd love to
know, equally, I am sure people can improve on my code: do tell me if you think you have clear improvements.
Installing the server on your own hardware
If you are sufficiently geeky that you understand git then you should be able to pull the whole site from https://github.com/cpsyctc/shiny-server.
If you are that competent with git and github then do please contact me
and show me how I should change that repository to make it easy for people to submit, and for me to review, patches.
You will need to ensure that all the required packages are installed. I have created an Rmarkdown file "findPackages.Rmd" which
you can run this from the console with
Rscript -e "rmarkdown::render('findPackages.Rmd')"
(I am assuming that you are installing in a Linux operating system, I can't vouch for this working
on Apple or Windoze. Do contact me if you can advise me about this
on those platforms.)
If that code finds that you are missing some packages it creates a vector of those package names which is saved
in "vecMissingPackages.Rda". You can that load into an R session with:
load(file = "vecMissingPackages.Rda")
I have also stored it as a csv file "missingPackages.csv" which should read in with:
read.csv(file = "missingPackages.csv") -> vecMissingPackages
You should then be able to use that vector (vecMissingPackages) to install the missing packages with
install.packages(vecMissingPackages, ask = TRUE, checkBuilt = TRUE)
You may find that some of the missing packages aren't on CRAN, for example my own CECPfuns package. The instructions to install that,
and more about it are at [https://cecpfuns.psyctc.org](https://cecpfuns.psyctc.org). If there are other non-CRAN packages
you may have to do a bit of internet searching to discover where they live and how to install them. If you have problems
despite searching, do please [contact me](https://www.psyctc.org/psyctc/contact-me/).
Email update list
- Search interface to peer-reviewed papers relating to the CORE system
This complements paper
Paz, Unda-López, Valdiviezo-Oña, Fernando Chávez, Elias Herrera Criollo, Toscano-Molina & Evans (2025).
Mapping the growth of the CORE system tools in psychotherapy research from 1998 to 2021: Learning from historical evidence.
Psychotherapy Research, 1–12.
Open access: https://doi.org/10.1080/10503307.2025.2457389.
- Apps saving you from looking up formulae or using a calculator
- App that gives you estimated mean and SD given sufficient of the min, q1, median, q3 and max for a dataset. Uses the conv.fivenum() function from the metafor R package
- App that gives you the RCI (Reliable Change Index) for given baseline score SD, reliability and the inclusion interval you want (usually .95, i.e. 95%). Uses the getRCIfromSDandAlpha() function from the CECPfuns R package but the maths is trivial. See also this next ...
- App which extends that to give you a plausible interval around that RCI using the confidence interval for the SD given your n. And that links with this next ...
- App that gives you the CSC (Clinically Significant Change) method c cut off value for given referential help-seeking and non-help-seeking means and SDs. The maths is trivial for the CSC but this does show the plot of the probabilities underpinning the CSC and that it balances the misclassification rates (given truly Gaussian distributions!).
- App that gives you Hedges's g effect size measure given reported Cohen's d and the n. See also my Rblog post: Hedges's g.
- App that gives you the appropriate CSC (and hence CSC classification) given a YP-CORE score, age and gender. It allows use of lookup tables for the CSC for the UK and Ireland and for Italy. See also my Rblog post: CSC by gender and age for more on this.
- App that gives you the predicted internal reliabilities for different lengths of measures given a reliability and length or a measure. See also my Rblog post about the Spearman-Brown (or Brown-Spearman!) formula that is behind this. Links with this next ...
- App that gives you the attenuated correlation for any reliabilities of the two correlated variables and any unattenuated correlation. See also my OMbook glossary entry: Attenuation (by unreliability of measurement).
- More complicated app for attenuated correlations giving plot and table of values for a range of unattenuated correlations and of reliabilities of one of the variables. And both link to this ...
- App that gives you the 'corrected' correlation from an observed correlation and the reliabilities of the two variables. This is the inverse of the last two apps above. Again, see also my OMbook glossary entry: Attenuation (by unreliability of measurement).
- App that gives you the mean inter-item correlation that for a given Cronbach alpha and k.. This is the inverse of the last two apps above.
- App that gives you the s value (surprisal, self-information, or Shannon entropy index) from any p value..
- App that gives correct overall (and non-risk) scores for the CORE-OM if you only have mean domain scores (and no missing data)..
- Apps giving confidence intervals from observed counts or statistics and dataset sizes
These can be useful if you have these statistics from a report that doesn't give the confidence intervals. - App that gives you a confidence interval around an observed proportion given the total n, x the (smaller) number of interest within that n and the width of CI you want (usually .95, i.e. 95%). Uses the binconf() function from the Hmisc R package which uses the Wilson method to get the CI.
- App that gives you a confidence interval around the difference between two independent proportions given the total n, x in each dataset/group, the numbers of interest within each group n and the width of CI you want (usually .95, i.e. 95%). Gives what I call a "biplane plot" of the two CIs.
- App that gives you a confidence interval (CI) around an observed mean given that value, either the observed SD or SE, the width of CI you want (usually .95, i.e. 95%) and the n of the dataset from which the alpha was obtained. The maths is parametric and can be sensitive to non-Gaussian distributions, bootstrap CI definitely preferred if you have the raw data.
- App that gives you a confidence interval (CI) around an observed SD or variance given that value, either the observed SD or SE, the width of CI you want (usually .95, i.e. 95%) and the n of the dataset from which the alpha was obtained. Again, the maths is parametric and can be sensitive to non-Gaussian distributions, bootstrap CI definitely preferred if you have the raw data.
- App that gives you a confidence interval around an observed Pearson correlation given the total n, R the correlation and the width of CI you want (usually .95, i.e. 95%). Uses basic parametric theory so treat the CI as indicative rather than definitive. However, if all you have is the n and correlation, it's the best you can do!
- App that gives you a confidence interval around an observed Spearman correlation given the total n, Rs the correlation and the width of CI you want (usually .95, i.e. 95%). I used to say the Pearson CI could be used but that is a very poor approximation, this is better.
- App that gives you a confidence interval (CI) around an observed Cronbach alpha value given that value, the width of CI you want (usually .95, i.e. 95%) and the n of the dataset from which the alpha was obtained. The maths is parametric but fairly robust to non-Gaussian distributions. See also the next one ...
- Apps giving p values
I am generally not keen on p values as they are so overused and misunderstood but this one can be useful .... - App giving a p value for the difference between two Cronbach alpha values from independent samples.
- Utility Apps
So far just the one .... - App giving you a random permutation of n objects. This is mainly to support using the method of derangements which is part of what I call 'rigorous idiography'..
- Apps to give plots from population parameters or sample statistics
- App that gives sample statistics, histogram, ecdf and qqplot for samples from a true Gaussian population. You input the sample size, mean, SD you want and the number of histogram bins (and the random number seed: to get replicable samples). Mainly for teaching/illustration.
- App that gives a plot of the CIs around an observed Pearson correlation for a range of dataset sizes (n). The CI can be anything from .7 to .999 but defaults to .95, i.e. 95%. This is a parametric CI as it assumes you only have an R value of interest to you, not data. Probably mainly for teaching/illustration.
- Illustrative and modelling apps
- App to create samples of data from various population distributions Currently it has just Gaussian and uniform distributions as these are the most common in pure modelling distributions in our field. You control the seed (to get replicable samples), the n and the population parameters and you can get the data as space, comma, semicolon and tab spaced vectors or as a table that you can download in spreadsheet formats. You can use this to generate data to feed into other data crunching apps here as those expand.
- Model of a simple screening design taking the n, prevalence and the sensitivity and specificity of the screening test. Gives full screening table and the PPV and NPV. Changing the prevalence allows you to see how much this affects PPV and NPV. Created to complement the OMbook glossary entry about screening.
- Model of how the statistical power to detect an effect is affected by using the Bonferroni correction for multiple tests. Created to complement OMbook glossary entry about the Bonferroni correction.
- App that analyses datasets of one or two YP-CORE scores per participant. This allows you to upload spreadsheet data in CSV, Excel or Libre/Open Office based on template files (below). You can choose the appropriate referential data, currently the new improved reference values for the UK and Ireland, the older UK values and the current Italian values. It then uses those and the age and gender of the participant to give the RCSC categories but it also has a pretty extensive menu of analyses of the data and plots including cats' cradle and Jacobson plots. Try it with the example data below!
- App to give hashed values when pseudonymising data. You select a variable, usually the ID variable you were using. You give the app the hash key phrase you want used and it creates the hashed values and allows you to download the original ID code (as text values) and the hashed values.
- App that gives a forest plot of rates with chi squared and Fisher test of differences. It takes a dataset of year, total n and n improved values for year on year data from practitioners or services. First written to complement the Does brief therapy yield better outcomes? post in the excellent Therapy Meets Numbers website.
- App that takes data from file upload for histogram and summary statistics. This gives a downloadable histogram with some configuration and downloadable summary statistics. Non-numeric values and missing values are noted but ignored.
- App that gives you a confidence interval (CI) around observed quantiles of a distribution given the data, the quantiles you want and the width of CI you want (usually .95, i.e. 95%) and the n of the dataset from which the alpha was obtained. Uses Nyblom's method to get robust CIs for the quantiles. New version, as of 5.vi.24 allows uploading of data as well as just pasting it in.
- App that scores CORE-OM item data . This takes an Excel file of the format I created to score CORE-OM data collected with Microsoft forms. This is proof of concept really and should be followed by apps allowing CORE-OM, and then other CORE measures', item scores to be uploaded and scored. It gives all the CORE-OM scores including the CORE-6D utility score and also gives the scores for the embedded items of all the shorter adult measures that are derived from the CORE-OM.
There is now an Email announcement list, never updating more than monthly, where I will put up developments of new apps here but also a summary of updates to the online glossary and new posts in the Rblog. You can sign up for the update list here to be alerted to new things.
Last updated 1.xi.26