View source: R/gen-scoreFACT_G.R
scoreFACTG | R Documentation |
Generates all of the scores of the Functional Assessment of Cancer Therapy-General (FACT-G) from item responses.
scoreFACTG(df, id = NULL, updateItems = FALSE, keepNvalid = FALSE)
df |
A data frame with the questionnaire items, appropriately-named. |
id |
(optional) The quoted name of a variable in |
updateItems |
(optional) Logical, if |
keepNvalid |
(optional) Logical, if |
Given a data frame that includes all of the FACT-G items as variables, appropriately named, this function generates all of the FACT-G scale scores. It is crucial that the item variables in the supplied data frame are named according to FACT conventions. For example, the first physical well-being item should be named GP1, the second GP2, and so on. Please refer to the materials provided by http://www.facit.org for the particular questionnaire you are using. In particular, refer to the left margin of the official questionnaire (i.e., from facit.org) for the appropriate item variable names.
Most users will want to omit the updateItems
and keepNvalid
arguments or, equivalently, set them both to FALSE
.
Some item variables are reverse coded for the purpose of generating the scale
scores. The official (e.g., from http://www.facit.org) SAS and SPSS
scoring algorithms for this questionnaire automatically replace the original
items with their reverse coded versions (as well as recode values of 8 or 9
to missing values). This can be confusing and may produce incorrect scale
scores if you accidentally run the SAS/SPSS algorithm more than once on your
data. Therefore, scoreFACTG
DOES NOT replace any of your original
item variables with the reverse coded versions. However, for consistency
with the behavior of the other algorithms on http://www.facit.org, the
updateItems
argument is provided. If set to TRUE
, then an
updated set of items will be included in the output data frame. These
updated items differ from the original items in 3 ways: (1) any original item
that needs to be reverse coded for scoring will be updated with its reverse
coded version, (2) any values of 8 or 9 will be replaced with NA, and (3) the
updated items will be renamed by adding the suffix "_rc" (for "re-coded") to
the original names, e.g., GP1_rc
.
The keepNvalid
argument is intended to provide additional information
on missing item patterns and will not be of interest to most users. For most
of the scale scores, one of the intermediate steps in the scoring algorithm
is to calculate for each respondent the number of valid, non-missing items on
the scale. If keepNvalid = TRUE
, then additional variables with these
valid item counts will be returned for each applicable scale score. These
variables are named with the suffix "_N", e.g., in the format,
SCALENAME_N
.
A data frame with the following scale scores is returned:
PWB - Physical Well-Being subscale
SWB - Social/Family Well-Being subscale
EWB - Emotional Well-Being subscale
FWB - Physical Well-Being subscale
FACTG - FACT-G Total Score (PWB+SWB+EWB+FWB)
If a variable was given to the id
argument, then that variable will
also be in the returned data frame. Additional, relatively unimportant,
variables will be returned if updateItems = TRUE
or keepNvalid =
TRUE
.
This function scores ONLY the general FACT-G items. It does not score any
"Additional Concerns" items (which assess issues relevant to a specific
cancer type, treatment, or symptom). If you have any "Additional Concerns"
items in your data, then you should use the FACTscorer
scoring
function that corresponds to the specific FACT questionnaire you
administered. For example, if you administered the FACT-B (i.e., FACT-Breast
Cancer) questionnaire, you should use the scoreFACT_B
function
instead of scoreFACTG
.
Keep in mind that this function (and R in general) is case-sensitive.
All variables should be in numeric or integer format.
This scoring function expects missing item responses to be coded as NA, 8, or 9, and valid item responses to be coded as 0, 1, 2, 3, or 4. Any other value for any of the items will result in an error message and no scores.
FACT-G Scoring Guidelines, available at http://www.facit.org
Cella, D.F., Tulsky, D.S., Gray, G., et al. (1993). The Functional Assessment of Cancer Therapy (FACT) scale: Development and validation of the general measure. Journal of Clinical Oncology, 11(3), 570-579.
Webster, K., Odom, L., Peterman, A., Lent, L., & Cella, D. (1999). The Functional Assessment of Chronic Illness Therapy (FACIT) measurement system: Validation of version 4 of the core questionnaire. Quality of Life Research, 8(7), 604.
Winstead-Fry, P., & Schultz, A. (1997). Psychometric assessment of the Functional Assessment of Cancer Therapy-General (FACT-G) scale in a rural sample. Cancer, 79(12), 2446-2452.
Overcash, J., Extermann, M., Parr, J., Perry, J., & Balducci, L. (2001). Validity and reliability of the FACT-G scale for use in the older person with cancer. American Journal of Clinical Oncology, 24(6), 591-596.
Webster, K., Cella, D., & Yost, K. (2003). The Functional Assessment of Chronic Illness Therapy (FACIT) Measurement System: Properties, applications, and interpretation. Health and Quality of Life Outcomes, 1, 79.
See FACTscorer
for more comprehensive information
about using the functions in this package.
## FIRST creating a df with fake item data to score exampleDat <- make_FACTdata() ## NOW scoring the items in exampleDat ## Returns data frame with ONLY scale scores scoredDat <- scoreFACTG(exampleDat) scoredDat ## Using the id argument (makes merging with original data more fool-proof): scoredDat <- scoreFACTG(exampleDat, id = "ID") scoredDat ## Merge back with original data, exampleDat: mergeDat <- merge(exampleDat, scoredDat, by = "ID") names(mergeDat) ## Returns scale scores, plus recoded items (updateItems = TRUE) ## Also illustrates effect of setting keepNvalid = TRUE. scoredDat <- scoreFACTG(exampleDat, updateItems = TRUE, keepNvalid = TRUE) names(scoredDat) ## Descriptives of scored scales summary(scoredDat[, c('PWB', 'SWB', 'EWB', 'FWB', 'FACTG')])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.