Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----example 1----------------------------------------------------------------
library(KHQ)
library(magrittr)
# The items must be named equal the number in the original questionnaire
# published by Kelleher and collaborator in 1997 (1, 2, 3a, 3b, 4a, 4b,
# 4c, 4d, 5a, 5b, 5c, 6a, 6b, 6c, 7a, 7b, 8a, 8b, 8c, 8d, 8e, 9a, 9b, 9c,
# 9d, 9e, 9f, 9g, 9h, 9i, 9j, 9k)
# Kelleher et al. (1997)
# Domains Items
# General Health Perception - 1
# Incontinence Impact - 2
# Role Limitations - 3a and 3b
# Physical limitations - 4a and 4b
# Social limitations - 4c and 4d
# Personal Relationships - 5a, 5b and 5c
# Emotions - 6a, 6b and 6c
# Sleep/Energy - 7a and 7b
# Severity Measures - 8a, 8b, 8c, 8d and 8e
# Symptom Severity Scale - 9a, 9b, 9c, 9d, 9e, 9f, 9g, 9h, 9i and 9j
# Computing the scores of each domain of the KHQ
# Data frame with items of the original questionnaire
scores_UK <- data.frame(
"1" = c(1,2,3,4,5,NA),
"2" = c(1,2,3,4,NA,NA),
"3a" = c(1,2,3,4,NA,NA), "3b" = c(1,2,3,4,NA,NA),
"4a" = c(1,2,3,4,NA,NA), "4b" = c(1,2,3,4,NA,NA),
"4c" = c(1,2,3,4,NA,1), "4d" = c(1,2,3,4,NA,1),
"5a" = c(1,2,3,4,1,NA), "5b" = c(1,2,3,4,NA,1), "5c" = c(1,2,3,4,0,1),
"6a" = c(1,2,3,4,NA,NA), "6b" = c(1,2,3,4,NA,NA), "6c" = c(1,2,3,4,NA,NA),
"7a" = c(1,2,3,4,NA,NA), "7b" = c(1,2,3,4,NA,NA),
"8a" = c(1,2,3,4,NA,NA), "8b" = c(1,2,3,4,NA,NA), "8c" = c(1,2,3,4,NA,NA),
"8d" = c(1,2,3,4,NA,NA), "8e" = c(1,2,3,4,NA,NA),
"9a" = c(0,1,2,3,NA,NA), "9b" = c(0,1,2,3,NA,NA), "9c" = c(0,1,2,3,NA,NA),
"9d" = c(0,1,2,3,NA,NA), "9e" = c(0,1,2,3,NA,NA), "9f" = c(0,1,2,3,NA,NA),
"9g" = c(0,1,2,3,NA,NA), "9h" = c(0,1,2,3,NA,NA), "9i" = c(0,1,2,3,NA,NA),
"9j" = c(0,1,2,3,NA,NA), "9k" = c(0,1,2,3,NA,NA),
check.names = FALSE)
# Original algorithm
KHQScores(scores = scores_UK, country = "UK", author = "Kelleher",
year = 1997, ignore.invalid = TRUE) %>% round(2)
UK_scores <- data.frame(
"1" = c(1,2,3,4,5,4),
"2" = c(4,3,2,1,NA,4),
"3a" = c(1,2,3,4,NA,4), "3b" = c(1,2,3,4,NA,3),
"4a" = c(4,1,1,3,3,NA), "4b" = c(1,2,3,4,2,NA),
"4c" = c(4,3,2,1,NA,1), "4d" = c(1,2,3,4,NA,1),
"5a" = c(4,3,2,1,1,NA), "5b" = c(1,2,3,4,NA,1), "5c" = c(4,3,2,1,0,1),
"6a" = c(1,2,3,4,2,NA), "6b" = c(4,3,2,1,2,NA), "6c" = c(1,2,3,4,4,NA),
"7a" = c(4,3,2,1,NA,3), "7b" = c(1,2,3,4,NA,3),
"8a" = c(4,3,2,1,4,NA), "8b" = c(1,2,3,4,2,NA), "8c" = c(4,3,2,1,2,NA),
"8d" = c(4,3,2,1,NA,NA), "8e" = c(1,2,3,4,NA,NA),
"9a" = c(0,1,2,3,NA,NA), "9b" = c(3,2,1,0,NA,NA), "9c" = c(0,1,2,3,NA,NA),
"9d" = c(3,2,1,0,NA,NA), "9e" = c(0,1,2,3,NA,NA), "9f" = c(3,2,1,0,NA,NA),
"9g" = c(0,1,2,3,NA,NA), "9h" = c(3,2,1,0,NA,NA), "9i" = c(0,1,2,3,NA,NA),
"9j" = c(3,2,1,0,NA,NA), "9k" = c(0,1,2,3,NA,NA),
check.names = FALSE)
# There is an option to use the 'save.xlsx', where you can enter the
# 'filename' and 'sheetName'. The file with the calculated scores is
# saved in .xlsx format (Excel file).
KHQScores(scores = UK_scores, country = "UK", author = "Kelleher",
year = 1997, save.xlsx = FALSE,
filename = "Res_Scores_Dimensions_KHQ.xlsx",
sheetName = "Scores", ignore.invalid = TRUE) %>% round(2)
## ----example 2----------------------------------------------------------------
# Data frame with items of the original questionnaire
df_UK_scores <- data.frame(
"1" = c(1,2,3,4,5,4),
"2" = c(4,3,2,1,NA,4),
"3a" = c(1,NA,3,4,NA,4), "3b" = c(1,2,3,4,NA,3),
"4a" = c(4,1,1,3,3,NA), "4b" = c(NA,2,3,4,2,NA),
"4c" = c(4,3,2,1,4,1), "4d" = c(1,2,3,4,NA,1),
"5a" = c(4,3,2,NA,1,NA), "5b" = c(1,2,3,4,NA,1), "5c" = c(4,3,2,1,0,1),
"6a" = c(1,2,3,4,2,NA), "6b" = c(4,3,NA,1,2,NA), "6c" = c(1,2,3,4,4,NA),
"7a" = c(4,3,2,1,NA,3), "7b" = c(1,NA,3,4,NA,3),
"8a" = c(4,3,2,1,4,NA), "8b" = c(1,NA,3,4,2,2), "8c" = c(4,3,2,1,2,3),
"8d" = c(4,3,2,1,NA,NA), "8e" = c(1,2,3,4,NA,NA),
"9a" = c(0,1,2,3,1,1), "9b" = c(3,2,1,0,NA,NA), "9c" = c(0,1,2,3,1,2),
"9d" = c(3,2,1,0,3,1), "9e" = c(0,1,2,3,2,NA), "9f" = c(3,2,1,0,3,3),
"9g" = c(0,1,2,3,NA,NA), "9h" = c(3,2,1,0,NA,3), "9i" = c(0,1,2,3,3,3),
"9j" = c(3,2,1,0,NA,3), "9k" = c(0,1,2,3,1,NA),
check.names = FALSE)
# Computing the scores of each domain of the KHQ using mean.na = TRUE
KHQScores(scores = df_UK_scores, country = "UK", author = "Kelleher",
year = 1997, ignore.invalid = TRUE, mean.na = TRUE) %>% round(2)
## ----example 3----------------------------------------------------------------
# Nine items of the KHQ are used to calculate the KHQ5D scores.
# The items must be named equal the number in the original
# questionnaire (3a, 3b, 4a, 4b, 4d, 5c, 6a, 6b, 7a)
# Original domains and items
# Domains Items
# Role Limitations - 3a and 3b
# Physical limitations - 4a and 4b
# Social limitations - 4d
# Personal Relationships - 5c
# Emotions - 6a and 6b
# Sleep/Energy - 7a
# Five dimensions and items of the KHQ5D
# Dimensions Items
# Role limitation - 3a and 3b
# Physical limitation - 4a and 4b
# Social Limitation - 4d and 5c
# Emotions - 6a and 6b
# Sleep - 7a
# Converting the KHQ items into the KHQ5D classification using a
# data.frame with all items completed
scores <- data.frame(
"3a" = c(4,3,4,3,2),
"3b" = c(4,3,4,3,2),
"4a" = c(1,3,4,3,4),
"4b" = c(1,3,4,3,4),
"4d" = c(2,2,3,4,2),
"5c" = c(2,2,3,4,2),
"6a" = c(3,2,2,4,1),
"6b" = c(3,2,2,4,1),
"7a" = c(1,3,4,3,4),
check.names = FALSE)
KHQConvKHQ5D(scores = scores, ignore.invalid = FALSE)
# Converting the KHQ items into the KHQ5D classification using a
# data.frame with a missing response. In this example, use
# ignore.invalid = TRUE to avoid any problems with missing data.
scores_2 <- data.frame(
"3a" = c(4,3,4,3,2),
"3b" = c(4,3,4,3,2),
"4a" = c(1,3,4,3,4),
"4b" = c(1,3,4,3,4),
"4d" = c(2,2,3,4,2),
"5c" = c(2,2,3,4,2),
"6a" = c(3,2,2,4,1),
"6b" = c(3,NA,2,4,1),
"7a" = c(1,3,4,3,4),
check.names = FALSE)
KHQConvKHQ5D(scores = scores_2, ignore.invalid = TRUE)
# As with in the KHQScore function it is possible to use the 'save.xlsx'.
KHQConvKHQ5D(scores = scores, save.xlsx = FALSE,
filename = "KHQ_conv_KHQ5D.xlsx",
sheetName = "Scores", ignore.invalid = TRUE)
## ----example 4----------------------------------------------------------------
# Named vector RL, PL, SL, E and S represent Role limitation,
# Physical limitation, Social Limitation, Emotions and Sleep,
# respectfully.
# single calculation using the UK SG value set
scores <- c(RL = 1, PL = 1, SL = 1, E = 1, S = 1)
KHQ5D(scores = scores, country = "UK", type = "SG",
author = "Brazier", year = 2008, source = "KHQ",
ignore.invalid = TRUE)
# or
KHQ5D(scores = c(RL=1,PL=1,SL=1,E=1,S=1), country = "UK",
type = "SG", author = "Brazier", year = 2008, source = "KHQ",
ignore.invalid = TRUE)
# Using five digit format
KHQ5D(scores = 11111, country = "UK", type = "SG",
author = "Brazier", year = 2008, source = "KHQ",
ignore.invalid = TRUE)
# or
KHQ5D(scores = c(11111), country = "UK", type = "SG",
author = "Brazier", year = 2008, source = "KHQ",
ignore.invalid = TRUE)
# or
KHQ5D(scores = c(11111, 22432, 34241, 43332, 22141),
country = "UK", type = "SG", author = "Brazier",
year = 2008, source = "KHQ", ignore.invalid = TRUE)
# Using a data.frame with individual dimensions
scores.df <- data.frame(
RL = c(1,2,3,4,2),
PL = c(4,3,4,3,2),
SL = c(1,2,2,4,1),
E = c(1,3,4,3,4),
S = c(1,2,1,2,1))
KHQ5D(scores = scores.df, country = "UK", type = "SG",
author = "Brazier", year = 2008, source = "KHQ",
ignore.invalid = TRUE)
# Data.frame using five digit format
scores.df2 <- data.frame(state = c(11111, 22432, 34241, 43332, 22141))
KHQ5D(scores = scores.df2, country = "UK", type = "SG",
author = "Brazier", year = 2008, source = "KHQ",
ignore.invalid = TRUE)
# or using a vector
KHQ5D(scores = scores.df2$state, country = "UK", type = "SG",
author = "Brazier", year = 2008, source = "KHQ",
ignore.invalid = TRUE)
# Using weights = TRUE to generate the weights for each score of the KHQ5D
KHQ5D(scores = c(14411, 22432, 34241, 43332, 44444), country = "UK", type = "SG",
author = "Brazier", year = 2008, source = "KHQ",
ignore.invalid = TRUE, weights = TRUE)
# As with in the KHQScore function it is possible to use the 'save.xlsx'.
KHQ5D(scores = scores.df, country = "UK", type = "SG",
author = "Brazier", year = 2008, source = "KHQ",
save.xlsx = FALSE, filename = "Res_KHQ5D_uti_ind.xlsx",
sheetName = "Utility_Index", ignore.invalid = TRUE)
## ----example 5----------------------------------------------------------------
# Calculation using a data.frame with individual dimensions
KHQ5DFreq(scores = scores.df, ignore.invalid = TRUE)
# Data.frame using five digit format
KHQ5DFreq(scores = scores.df2, ignore.invalid = TRUE)
# or using a vector
KHQ5DFreq(scores = scores.df2$state, ignore.invalid = TRUE)
# Using five digit format
KHQ5DFreq(scores = c(11111, 11111, 22432,34241, 43332, 22141),
ignore.invalid = TRUE)
# As with in the KHQScore function it is possible to use the 'save.xlsx'.
KHQ5DFreq(scores = scores.df, save.xlsx = FALSE,
filename = "Res_KHQ5D_Frequency.xlsx",
sheetName = "Frequency",
ignore.invalid = TRUE)
## ----example data-------------------------------------------------------------
## Loading example data from KHQ items.
scores_UK <- KHQ_data_Kelleher
# Calculating the scores of each dimension
scores_KHQ <- KHQScores(scores = scores_UK, country = "UK",
author = "Kelleher", year = 1997,
ignore.invalid = TRUE) %>% round(2)
# Top 6 scores
head(scores_KHQ)
## Loading example data from KHQ items used to be converted to KHQ5D scores.
scores_KHQ_to_conv <- KHQ_Conv_KHQ5D_data
# Converting the scores of each dimension of the KHQ5D
scores_KHQ5D <- KHQConvKHQ5D(scores = scores_KHQ_to_conv, ignore.invalid = TRUE)
# Top 6 scores
head(scores_KHQ5D)
## Calculating the utility index of the KHQ5D using the converted scores
# Calculating the scores of each dimension
uti_index <- KHQ5D(scores = scores_KHQ5D, country = "UK",
type = "SG", author = "Brazier", year = 2008,
source = "KHQ", ignore.invalid = TRUE)
# Top 6 scores
head(uti_index)
## It is also possible to use the KHQ5D example data.
KHQ5D_scores <- KHQ5D_data
# Calculate the scores of each dimension
df_uti_index <- KHQ5D(scores = KHQ5D_scores, country = "UK",
type = "SG", author = "Brazier", year = 2008,
source = "KHQ", ignore.invalid = TRUE)
# Top 6 scores
head(df_uti_index)
## Cumulative frequency analysis using the KHQ5D example data
df_res_freq <- KHQ5DFreq(scores = KHQ5D_scores, ignore.invalid = TRUE)
# Top 6 scores
head(df_res_freq)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.