Scores the European Organization for Research and Treatment of Cancer (EORTC) QLQ-C30 Quality of Life Questionnaire (version 3.0).
A data frame containing responses to the 30 QLQ-C30 items, and possibly other variables.
Quoted item number prefix. Quote the letter(s) preceding the
item numbers as they are named in your data frame. For example, use
A character vector with the QLQ-C30 item names, or a numeric
vector indicating the column numbers of the QLQ-C30 items in
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
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
items argument. For example, if your first 10
df contain demographics, followed by the 30 QLQ-C30
items in order starting with the 11th variable, then you could
items = 11:40.
The last way only applies if your data frame (
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
You can use EITHER the
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 name and number 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
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
qlq_c30 function will calculate the QLQ-C30 Summary
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.
dat <- PROscorerTools::makeFakeData(n = 10, nitems = 30, values = 1:4) qlq_c30(dat, 'q')
QL PF RF EF CF SF FA 1 0.00000 100.00000 100.00000 100.00000 100.00000 100.00000 0.00000 2 50.00000 0.00000 0.00000 0.00000 0.00000 0.00000 100.00000 3 33.33333 NA 33.33333 66.66667 66.66667 100.00000 55.55556 4 25.00000 11.11111 0.00000 77.77778 50.00000 83.33333 77.77778 5 NA 33.33333 33.33333 66.66667 100.00000 66.66667 50.00000 6 16.66667 40.00000 50.00000 75.00000 83.33333 50.00000 44.44444 7 16.66667 50.00000 16.66667 66.66667 16.66667 66.66667 33.33333 8 25.00000 55.55556 16.66667 33.33333 83.33333 50.00000 0.00000 9 16.66667 22.22222 50.00000 22.22222 33.33333 NA 100.00000 10 50.00000 50.00000 50.00000 41.66667 83.33333 66.66667 100.00000 NV PA DY SL AP CO DI 1 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2 100.00000 100.00000 100.00000 100.00000 100.00000 100.00000 100.00000 3 33.33333 33.33333 NA 33.33333 0.00000 33.33333 66.66667 4 33.33333 33.33333 100.00000 NA 33.33333 0.00000 NA 5 50.00000 83.33333 NA 100.00000 0.00000 NA 66.66667 6 50.00000 33.33333 100.00000 0.00000 66.66667 66.66667 0.00000 7 50.00000 83.33333 100.00000 0.00000 100.00000 33.33333 33.33333 8 83.33333 100.00000 100.00000 33.33333 0.00000 NA 33.33333 9 50.00000 0.00000 100.00000 33.33333 NA 33.33333 0.00000 10 100.00000 100.00000 33.33333 NA NA 100.00000 100.00000 FI QLQTOTAL 1 0.00000 100.00000 2 100.00000 0.00000 3 66.66667 NA 4 0.00000 NA 5 33.33333 NA 6 33.33333 56.70940 7 100.00000 44.87179 8 66.66667 NA 9 NA NA 10 100.00000 NA
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.