qlq_c30 | R Documentation |
Scores the European Organization for Research and Treatment of Cancer (EORTC) QLQ-C30 Quality of Life Questionnaire (version 3.0).
qlq_c30(df, iprefix = NULL, items = NULL, keepNvalid = FALSE)
df |
A data frame containing responses to the 30 QLQ-C30 items, and possibly other variables. |
iprefix |
Quoted item number prefix. Quote the letter(s) preceding the
item numbers as they are named in your data frame. For example, use
|
items |
A character vector with the QLQ-C30 item names, or a numeric
vector indicating the column numbers of the QLQ-C30 items in |
keepNvalid |
Logical, whether to return variables containing the
number of valid, non-missing items on each scale for each respondent should
be returned in the data frame with the scale scores. The default is
|
This function returns a total of 16 different scores from the EORTC QLQ-C30 (Aaronson et al., 1993), including the new QLQ-C30 Summary Score (Giesinger et al, 2016). Scores are calculated according to the official scoring algorithms in the EORTC QLQ-C30 Scoring Manual (Fayers et al, 2001).
In addition to the name of your data frame containing the QLQ-C30 item
responses (df
), you need to tell the function how to find the
variables that correspond to the QLQ-C30 items in df
. You can do this
in 1 of 3 different ways:
The easiest way is to use the iprefix
argument. This
assumes that your items are named using a consistent prefix,
followed by the item number (e.g., 'q1', 'q2', 'q3', etc.). In this
case, you could use iprefix = 'q'
, and the function will know to
look for items named 'q1' to 'q30' in your data (df
). Note that
this method will NOT work if your items are numbered with
leading zeros for single digit item numbers (e.g., 'q01', 'q02', etc.).
The second way is to manually provide the item names or locations
using the items
argument. For example, if your first 10
variables in df
contain demographics, followed by the 30 QLQ-C30
items in order starting with the 11th variable, then you could
use items = 11:40
.
The last way only applies if your data frame (df
) contains
ONLY the 30 variables corresponding to the 30 QLQ-C30 items,
in order, with no other non-QLQ-C30 variables. In this case, you can
just use the df
argument and omit iprefix
and
items
.
You can use EITHER the iprefix
or items
argument, or NEITHER of
them (in the case of #3 above). But you cannot use both.
A data frame with all of the QLQ-C30 scores is returned. All scores are scaled to range from 0-100, even scores based on single items. Be aware that these single-item scales still have only 4 possible values, even though they are transformed to range from 0-100. The scale names and numbers of items are listed below.
Global health status/QoL
QL - Global health status/QoL (revised) (from 2 items)
Functional Scales (higher is better functioning)
PF - Physical functioning (from 5 items)
RF - Role functioning (from 2 items)
EF - Emotional functioning (from 4 items)
CF - Cognitive functioning (from 2 items)
SF - Social functioning (from 2 items)
Symptom Scales (higher is more symptoms, worse functioning)
FA - Fatigue (from 3 items)
NV - Nausea and Vomiting (from 2 items)
PA - Pain (from 2 items)
Single-Item Symptom Scores (higher is more symptoms, worse functioning)
DY - Dyspnoea
SL - Insomnia
AP - Appetite Loss
CO - Constipation
DI - Diarrhoea
FI - Financial Difficulties
QLQ-C30 Summary Score (higher is better functioning, fewer symptoms)
C30SUMMARY - QLQ-C30 Summary Score, composed by taking mean of all scores except for QL (Global health status/QoL) and FI (Financial Difficulties)
Optionally, the data frame can additionally have variables containing the
number of valid item responses on each scale for each respondent (if
keepNvalid = TRUE
, but this option might be removed in future package
updates).
The qlq_c30
function will calculate the scale scores as long as at
least half of the items on the given scale have valid, non-missing item
responses. The qlq_c30
function will calculate the QLQ-C30 Summary
Score (C30SUMMARY
) for a respondent only if all 13 scales contributing to
that score are non-missing. Scores calculated in the presence of missing
items are pro-rated so that their theoretical minimum and maximum values
are identical to those from scores calculated from complete data.
This function follows the scoring algorithm in the official EORTC QLQ-C30 Scoring Manual (Fayers et al, 2001) exactly, with two exceptions.
QLQ-C30 Summary Score - The QLQ-C30 Summary Score
C30SUMMARY
was developed after the EORTC QLQ-C30 Scoring Manual
was published. This summary scale was scored according to instructions
on the EORTC website (http://groups.eortc.be/qol/manuals).
Scale Score Names - The QLQ-C30 Scoring Manual names the Global Health Status/QoL scale, the Physical Functioning scale, and the Role Functioning scale 'QL2', 'PF2', and 'RF2', respectively, to indicate that these are revised versions of these scales. However, this clashes with the naming convention that many statisticians use for longitudinal assessments (e.g., where 'QL2' would be used to indicate the second 'QL' assessment). As such, this function drops the '2' suffix from these scale names.
Aaronson NK, Ahmedzai S, Bergman B, Bullinger M, Cull A, Duez NJ, Filiberti A, Flechtner H, Fleishman SB, Haes JCJM de, Kaasa S, Klee M, Osoba D, Razavi D, Rofe PB, Schraub S, Sneeuw K, Sullivan M, Takeda F (1993). The European Organization for Research and Treatment of Cancer QLQ-C30: A Quality-of-Life Instrument for Use in International Clinical Trials in Oncology. JNCI J Natl Cancer Inst 85:365-376.
Fayers PM, Aaronson NK, Bjordal K, Groenvold M, Curran D, Bottomley A, on behalf of the EORTC Quality of Life Group. The EORTC QLQ-C30 Scoring Manual (3rd Edition). Published by: European Organisation for Research and Treatment of Cancer, Brussels 2001.
Giesinger JM, Kieffer JM, Fayers PM, Groenvold M, Petersen MA, Scott NW, Sprangers MAG, Velikova G, Aaronson NK (2016). Replication and validation of higher order models demonstrated that a summary score for the EORTC QLQ-C30 is robust. Journal of Clinical Epidemiology 69:79-88.
## Not run:
dat <- PROscorerTools::makeFakeData(n = 10, nitems = 30, values = 1:4)
qlq_c30(dat, 'q')
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.