Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
echo = TRUE, warning = FALSE,
message = FALSE
)
## ----setup--------------------------------------------------------------------
library(PredTest)
# Cognitive data set from the paclage
data("group_cog_data")
# Fitness data set from the package
data("pre_post_fit")
library(kableExtra)
library(ggplot2)
## ----table1, echo = FALSE-----------------------------------------------------
# end points by study type (subsets of column variables of interest to a researcher)
grp_endpts <- c(
"mean_suv","blind_moca_uncorrected","craft_verbatim","craft_delay_verbatim",
"number_span_forward","number_span_backward","fluency_f_words_correct",
"oral_trail_part_a","oral_trail_part_b","fluency_animals","fluency_vegetables",
"verbal_naming_no_cue"
)
prepost_endpts <- c(
"COPM_p", "COPM_s", "A1_work", "A2_work", "Grip_dom",
"Grip_ndom", "Flex_right", "Flex_left"
)
# hypotheses for each data set
cog_hyps <- c("increase", "decrease", "decrease", "decrease", "decrease", "decrease", "decrease", "increase", "increase",
"decrease", "decrease", "decrease")
fit_cog_hyps<- c("increase", "increase", "increase", "decrease", "increase", "increase", "increase", "increase")
# display of each hypothesis for each variable
tab1 <- data.frame(grp_endpts, cog_hyps)
colnames(tab1) <- c("Variable", "Hypothesized result")
knitr::kable(tab1, align = "ll") %>% kable_styling(full_width = F)
## ----setup2, echo = TRUE------------------------------------------------------
# Endpoints for the cognitive example
grp_endpts <- c(
"mean_suv","blind_moca_uncorrected","craft_verbatim","craft_delay_verbatim",
"number_span_forward","number_span_backward","fluency_f_words_correct",
"oral_trail_part_a","oral_trail_part_b","fluency_animals","fluency_vegetables",
"verbal_naming_no_cue"
)
# Specifying predictions for the cognitive data example
cog_hyps <- c("increase", "decrease", "decrease", "decrease",
"decrease", "decrease", "decrease", "increase", "increase",
"decrease", "decrease", "decrease")
# To get the results we pass the appropriate function values
group_results <- pred_results(dataset=group_cog_data, hypothesis=cog_hyps,
vars=grp_endpts, type="group", gtvar="group.factor",
grp_a="Control", grp_b ="ESKD", location="mean")
group_results
## ----weightsEx, echo = TRUE---------------------------------------------------
group_weights <- pred_weights(dataset=group_cog_data,
vars=grp_endpts,gtvar="group.factor",
type="group",corr_method="pearson")
group_weights
## ----testEx, echo=TRUE--------------------------------------------------------
pred_test(weights_vector = group_weights,
results_vector = group_results$results,
test_type = "exact",
phi_0 = 0.5)
## ----plot,fig.height = 4, fig.width = 6, fig.align = "center", echo = TRUE----
end <- grp_endpts
diff <- group_results$differences
outcome <- group_results$results
forplot <- as.data.frame( cbind(end, diff , outcome ) )
forplot$diff <- as.numeric(as.character(forplot$diff))
forplot$outcome <- as.numeric(as.character(forplot$outcome))
ymax <- max(1.25*max(forplot$diff), 0+.5*sd(forplot$diff))
ymin <- min(1.25*min(forplot$diff), 0-.5*sd(forplot$diff))
ggplot(data = forplot, aes(x=reorder(end, -diff), y=diff, fill = factor(outcome) ) ) +
geom_bar(stat='identity') +
scale_y_continuous(limits=c(ymin,ymax)) +
geom_bar(forplot, mapping = aes(end) ,alpha=0, size=1, color="black", stat='identity')+
theme_classic() +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1)) +
labs( x = "", y = "Difference", fill = "Prediction\nresults") +
scale_fill_manual(values = c('0' = "White",'1'= "Black"),
labels = c("Incorrect", "Correct"), drop = FALSE) +
theme(plot.title = element_text(hjust = 0.5))
## ----echo = TRUE--------------------------------------------------------------
# Endpoints for the fitness example
prepost_endpts <- c(
"COPM_p", "COPM_s", "A1_work", "A2_work", "Grip_dom",
"Grip_ndom", "Flex_right", "Flex_left"
)
# Specifying predictions for the fitness data set
fit_cog_hyps<- c("increase", "increase", "increase",
"decrease", "increase", "increase", "increase", "increase")
pre_post_fit <- pre_post_fit[complete.cases(pre_post_fit),]
pre_post_results <- pred_results(dataset = pre_post_fit,
id = "ID", hypothesis = fit_cog_hyps,
vars = prepost_endpts, type = "prepost",
gtvar = "Time", grp_a = 0,
grp_b = 1, location = "mean")
pre_post_results
## -----------------------------------------------------------------------------
pre_post_weights <- pred_weights(dataset = pre_post_fit,
id = "ID",
vars = prepost_endpts,
gtvar = "Time",
type = "prepost",
pre = 0,
post = 1,
corr_method = "pearson")
pre_post_weights
## ----testEx2, echo=TRUE-------------------------------------------------------
pred_test(weights_vector = pre_post_weights,
results_vector = pre_post_results$results,
test_type = "exact")
## ----age, echo=FALSE----------------------------------------------------------
plot(group_cog_data$blind_moca_uncorrected~group_cog_data$age,
xlab = "Age", ylab = "MoCA")
boxplot(group_cog_data$age~group_cog_data$group.factor,
xlab = "Group", ylab = "Age")
## ----adjusted, echo=TRUE------------------------------------------------------
adjusted <- pred_adjusted(dataset = group_cog_data,
hypothesis = cog_hyps,
vars = grp_endpts,
covariates = c("age"),
group = "group.factor", ref = "Control")
pred_test(results_vector = adjusted$results,
weights_vector = adjusted$weights,
test_type = "exact")
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.