qlq_c30: Score the EORTC QLQ-C30 Quality of Life Questionnaire

Description Usage Arguments Details Value How Missing Data is Handled Note References Examples

View source: R/qlq_c30.R

Description

Scores the European Organization for Research and Treatment of Cancer (EORTC) QLQ-C30 Quality of Life Questionnaire (version 3.0).

Usage

1
qlq_c30(df, iprefix = NULL, items = NULL, keepNvalid = FALSE)

Arguments

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 iprefix = "q" if your items are named "q1", "q2", etc. Use either this iprefix argument or the items argument (but NOT BOTH) to tell the function which variables in df are the QLQ-C30 items. See Details for more information.

items

A character vector with the QLQ-C30 item names, or a numeric vector indicating the column numbers of the QLQ-C30 items in df. Use either this items argument or the iprefix argument (but NOT BOTH) to tell the function which variables in df are the QLQ-C30 items. If items is omitted, then qlq_c30 will assume that df contains ONLY the QLQ-C30 items and no other variables. See Details for more information.

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 FALSE. Set to TRUE to return these variables, which will be named "scalename_N" (e.g., QL_N). Most users should omit this argument entirely. This argument might be removed from future versions of the package, so please let me know if you think this argument useful and would rather it remain a part of the function.

Details

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:

  1. 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.).

  2. 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.

  3. 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.

Value

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

Functional Scales (higher is better functioning)

Symptom Scales (higher is more symptoms, worse functioning)

Single-Item Symptom Scores (higher is more symptoms, worse functioning)

QLQ-C30 Summary Score (higher is better functioning, fewer symptoms)

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).

How Missing Data is Handled

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.

Note

This function follows the scoring algorithm in the official EORTC QLQ-C30 Scoring Manual (Fayers et al, 2001) exactly, with two exceptions.

References

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.

Examples

1
2
dat <- PROscorerTools::makeFakeData(n = 10, nitems = 30, values = 1:4)
qlq_c30(dat, 'q')

Example output

         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

PROscorer documentation built on May 29, 2017, 7:54 p.m.