mirror of
https://github.com/agdamsbo/stRoke.git
synced 2024-11-21 20:40:22 +01:00
new function including sample data
This commit is contained in:
parent
f0da458218
commit
aaf08d824f
@ -1,6 +1,6 @@
|
|||||||
Package: stRoke
|
Package: stRoke
|
||||||
Title: Tools for work in clinical stroke research
|
Title: Tools for work in clinical stroke research
|
||||||
Version: 0.22.10.1
|
Version: 0.22.11.1
|
||||||
Authors@R:
|
Authors@R:
|
||||||
person("Andreas Gammelgaard", "Damsbo", , "agdamsbo@clin.au.dk", role = c("aut", "cre"),
|
person("Andreas Gammelgaard", "Damsbo", , "agdamsbo@clin.au.dk", role = c("aut", "cre"),
|
||||||
comment = c(ORCID = "0000-0002-7559-1154"))
|
comment = c(ORCID = "0000-0002-7559-1154"))
|
||||||
@ -18,8 +18,12 @@ Suggests:
|
|||||||
Language: en-US
|
Language: en-US
|
||||||
Config/testthat/edition: 3
|
Config/testthat/edition: 3
|
||||||
Imports:
|
Imports:
|
||||||
|
dplyr,
|
||||||
ggplot2,
|
ggplot2,
|
||||||
gtsummary,
|
gtsummary,
|
||||||
MASS,
|
MASS,
|
||||||
rankinPlot,
|
rankinPlot,
|
||||||
stats
|
stats,
|
||||||
|
tidyr
|
||||||
|
Depends:
|
||||||
|
R (>= 2.10)
|
||||||
|
@ -6,12 +6,17 @@ export(cpr_check)
|
|||||||
export(cpr_dob)
|
export(cpr_dob)
|
||||||
export(cpr_female)
|
export(cpr_female)
|
||||||
export(generic_stroke)
|
export(generic_stroke)
|
||||||
|
export(index_plot)
|
||||||
export(plot_olr)
|
export(plot_olr)
|
||||||
export(quantile_cut)
|
export(quantile_cut)
|
||||||
export(source_lines)
|
export(source_lines)
|
||||||
import(ggplot2)
|
import(ggplot2)
|
||||||
import(stats)
|
import(stats)
|
||||||
|
import(tidyr)
|
||||||
importFrom(MASS,polr)
|
importFrom(MASS,polr)
|
||||||
|
importFrom(dplyr,filter)
|
||||||
|
importFrom(dplyr,mutate)
|
||||||
|
importFrom(dplyr,select)
|
||||||
importFrom(gtsummary,add_overall)
|
importFrom(gtsummary,add_overall)
|
||||||
importFrom(gtsummary,tbl_summary)
|
importFrom(gtsummary,tbl_summary)
|
||||||
importFrom(rankinPlot,grottaBar)
|
importFrom(rankinPlot,grottaBar)
|
||||||
|
74
R/index_plot.R
Normal file
74
R/index_plot.R
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
utils::globalVariables(c("name","value","facet"))
|
||||||
|
#' Plot multidimensional cognitive test scores
|
||||||
|
#'
|
||||||
|
#' Plot index scores from five dimensional cognitive testing. Includes option to facet.
|
||||||
|
#'
|
||||||
|
#' @param ds complete data frame
|
||||||
|
#' @param id colname of id column. Base for colouring
|
||||||
|
#' @param sub_plot main outcome scores variable to plot
|
||||||
|
#' @param scores variables to subset for plotting. Has to follow standard naming (is to be changed)
|
||||||
|
#' @param dom_names domain names for axis naming
|
||||||
|
#' @param facet.by variable to base facet_grid on
|
||||||
|
#'
|
||||||
|
#' @return ggplot element
|
||||||
|
#'
|
||||||
|
#' @import ggplot2 tidyr
|
||||||
|
#' @importFrom dplyr mutate
|
||||||
|
#' @importFrom dplyr select
|
||||||
|
#' @importFrom dplyr filter
|
||||||
|
#'
|
||||||
|
#' @export
|
||||||
|
#'
|
||||||
|
#' @examples
|
||||||
|
#' data(score)
|
||||||
|
#' index_plot(score |> dplyr::filter(event=="A"))
|
||||||
|
index_plot <- function(ds,id="id",sub_plot="_is",scores=c("_is","_lo","_up","_per"),dom_names=c("immediate","visuospatial","verbal","attention","delayed","total"),facet.by=NULL){
|
||||||
|
|
||||||
|
df_plot<-ds|>
|
||||||
|
dplyr::select(c(id,
|
||||||
|
facet.by,
|
||||||
|
ends_with(scores)))|>
|
||||||
|
tidyr::pivot_longer(cols=-c(id,facet.by))|>
|
||||||
|
subset(grepl(sub_plot,name))|>
|
||||||
|
dplyr::mutate(value=as.numeric(value),
|
||||||
|
name=factor(name,labels = dom_names))
|
||||||
|
|
||||||
|
if (!is.null(facet.by)){
|
||||||
|
colnames(df_plot)<-c("id","facet","name","value")
|
||||||
|
} else {
|
||||||
|
colnames(df_plot)<-c("id","name","value")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sub_plot=="_is"){
|
||||||
|
index_plot<-df_plot|>
|
||||||
|
ggplot2::ggplot(mapping = ggplot2::aes(x=name, y=value, color=factor(id), group=factor(id))) +
|
||||||
|
ggplot2::geom_point() +
|
||||||
|
ggplot2::geom_path() +
|
||||||
|
ggplot2::expand_limits(y=c(40,160)) +
|
||||||
|
ggplot2::scale_y_continuous(breaks=seq(40,160,by=10)) +
|
||||||
|
ggplot2::ylab("Index Score") +
|
||||||
|
ggplot2::xlab("Domain")+
|
||||||
|
ggplot2::labs(colour = "ID")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sub_plot=="_per"){
|
||||||
|
index_plot<-df_plot|>
|
||||||
|
ggplot2::ggplot(mapping = ggplot2::aes(x=name, y=value, fill=factor(id)))+
|
||||||
|
ggplot2::geom_col(position = "dodge") +
|
||||||
|
ggplot2::expand_limits(y=c(0,100)) +
|
||||||
|
ggplot2::scale_y_continuous(breaks=seq(0,100,by=10)) +
|
||||||
|
ggplot2::xlab("Cognitive domains") +
|
||||||
|
ggplot2::ylab("Percentile") +
|
||||||
|
ggplot2::labs(fill = "ID")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is.null(facet.by)){
|
||||||
|
index_plot + facet_grid(cols=vars(facet)) +
|
||||||
|
ggplot2::theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
|
||||||
|
|
||||||
|
} else {
|
||||||
|
index_plot
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
36
R/score.R
Normal file
36
R/score.R
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#' Data frame with sample data of cognitive testing score
|
||||||
|
#'
|
||||||
|
#' Contains non-identifiable organic trial data from a five-dimensional cognitive test.
|
||||||
|
#'
|
||||||
|
#' @format A data frame with 20 rows and 26 variables:
|
||||||
|
#' \describe{
|
||||||
|
#' \item{id}{id}
|
||||||
|
#' \item{event}{event}
|
||||||
|
#' \item{a_is}{domain a index score}
|
||||||
|
#' \item{b_is}{domain b index score}
|
||||||
|
#' \item{c_is}{domain c index score}
|
||||||
|
#' \item{d_is}{domain d index score}
|
||||||
|
#' \item{e_is}{domain e index score}
|
||||||
|
#' \item{i_is}{total index score}
|
||||||
|
#' \item{a_lo}{domain a lower ci}
|
||||||
|
#' \item{b_lo}{domain b lower ci}
|
||||||
|
#' \item{c_lo}{domain c lower ci}
|
||||||
|
#' \item{d_lo}{domain d lower ci}
|
||||||
|
#' \item{e_lo}{domain e lower ci}
|
||||||
|
#' \item{i_lo}{total lower ci}
|
||||||
|
#' \item{a_up}{domain a upper ci}
|
||||||
|
#' \item{b_up}{domain b upper ci}
|
||||||
|
#' \item{c_up}{domain c upper ci}
|
||||||
|
#' \item{d_up}{domain d upper ci}
|
||||||
|
#' \item{e_up}{domain e upper ci}
|
||||||
|
#' \item{i_up}{total upper ci}
|
||||||
|
#' \item{a_per}{domain a percentile}
|
||||||
|
#' \item{b_per}{domain b percentile}
|
||||||
|
#' \item{c_per}{domain c percentile}
|
||||||
|
#' \item{d_per}{domain d percentile}
|
||||||
|
#' \item{e_per}{domain e percentile}
|
||||||
|
#' \item{i_per}{total percentile}
|
||||||
|
#' }
|
||||||
|
#' @usage data(score)
|
||||||
|
"score"
|
||||||
|
|
@ -2,7 +2,7 @@
|
|||||||
#'
|
#'
|
||||||
#' Contains of non-identifiable data from the [TALOS trial](https://doi.org/10.1161/STROKEAHA.117.020067/)
|
#' Contains of non-identifiable data from the [TALOS trial](https://doi.org/10.1161/STROKEAHA.117.020067/)
|
||||||
#'
|
#'
|
||||||
#' @format A data frame with 200 rows and 1 variable:
|
#' @format A data frame with 200 rows and 6 variables:
|
||||||
#' \describe{
|
#' \describe{
|
||||||
#' \item{rtreat}{Randomisation}
|
#' \item{rtreat}{Randomisation}
|
||||||
#' \item{mrs_1}{Modified Rankin scale score at follow-up}
|
#' \item{mrs_1}{Modified Rankin scale score at follow-up}
|
||||||
|
BIN
data/score.rda
Normal file
BIN
data/score.rda
Normal file
Binary file not shown.
@ -7,22 +7,33 @@ ORCID
|
|||||||
Randomisation
|
Randomisation
|
||||||
TALOS
|
TALOS
|
||||||
Vectorised
|
Vectorised
|
||||||
|
af
|
||||||
agdamsbo
|
agdamsbo
|
||||||
|
christophergandrud
|
||||||
|
ci
|
||||||
|
colname
|
||||||
|
colouring
|
||||||
cpr
|
cpr
|
||||||
cprs
|
cprs
|
||||||
daDoctoR
|
daDoctoR
|
||||||
ddmmyy
|
ddmmyy
|
||||||
ddmmyyxxxx
|
ddmmyyxxxx
|
||||||
df
|
df
|
||||||
|
dk
|
||||||
|
eb
|
||||||
|
eg
|
||||||
forrestplot
|
forrestplot
|
||||||
gg
|
gg
|
||||||
ggplot
|
ggplot
|
||||||
|
github
|
||||||
grotta
|
grotta
|
||||||
grottaBar
|
grottaBar
|
||||||
|
helpfull
|
||||||
https
|
https
|
||||||
mRS
|
mRS
|
||||||
olr
|
olr
|
||||||
polr
|
polr
|
||||||
|
sst
|
||||||
www
|
www
|
||||||
xxxx
|
xxxx
|
||||||
yyyy
|
yyyy
|
||||||
|
38
man/index_plot.Rd
Normal file
38
man/index_plot.Rd
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/index_plot.R
|
||||||
|
\name{index_plot}
|
||||||
|
\alias{index_plot}
|
||||||
|
\title{Plot multidimensional cognitive test scores}
|
||||||
|
\usage{
|
||||||
|
index_plot(
|
||||||
|
ds,
|
||||||
|
id = "id",
|
||||||
|
sub_plot = "_is",
|
||||||
|
scores = c("_is", "_lo", "_up", "_per"),
|
||||||
|
dom_names = c("immediate", "visuospatial", "verbal", "attention", "delayed", "total"),
|
||||||
|
facet.by = NULL
|
||||||
|
)
|
||||||
|
}
|
||||||
|
\arguments{
|
||||||
|
\item{ds}{complete data frame}
|
||||||
|
|
||||||
|
\item{id}{colname of id column. Base for colouring}
|
||||||
|
|
||||||
|
\item{sub_plot}{main outcome scores variable to plot}
|
||||||
|
|
||||||
|
\item{scores}{variables to subset for plotting. Has to follow standard naming (is to be changed)}
|
||||||
|
|
||||||
|
\item{dom_names}{domain names for axis naming}
|
||||||
|
|
||||||
|
\item{facet.by}{variable to base facet_grid on}
|
||||||
|
}
|
||||||
|
\value{
|
||||||
|
ggplot element
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
Plot index scores from five dimensional cognitive testing. Includes option to facet.
|
||||||
|
}
|
||||||
|
\examples{
|
||||||
|
data(score)
|
||||||
|
index_plot(score |> dplyr::filter(event=="A"))
|
||||||
|
}
|
44
man/score.Rd
Normal file
44
man/score.Rd
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/score.R
|
||||||
|
\docType{data}
|
||||||
|
\name{score}
|
||||||
|
\alias{score}
|
||||||
|
\title{Data frame with sample data of cognitive testing score}
|
||||||
|
\format{
|
||||||
|
A data frame with 20 rows and 26 variables:
|
||||||
|
\describe{
|
||||||
|
\item{id}{id}
|
||||||
|
\item{event}{event}
|
||||||
|
\item{a_is}{domain a index score}
|
||||||
|
\item{b_is}{domain b index score}
|
||||||
|
\item{c_is}{domain c index score}
|
||||||
|
\item{d_is}{domain d index score}
|
||||||
|
\item{e_is}{domain e index score}
|
||||||
|
\item{i_is}{total index score}
|
||||||
|
\item{a_lo}{domain a lower ci}
|
||||||
|
\item{b_lo}{domain b lower ci}
|
||||||
|
\item{c_lo}{domain c lower ci}
|
||||||
|
\item{d_lo}{domain d lower ci}
|
||||||
|
\item{e_lo}{domain e lower ci}
|
||||||
|
\item{i_lo}{total lower ci}
|
||||||
|
\item{a_up}{domain a upper ci}
|
||||||
|
\item{b_up}{domain b upper ci}
|
||||||
|
\item{c_up}{domain c upper ci}
|
||||||
|
\item{d_up}{domain d upper ci}
|
||||||
|
\item{e_up}{domain e upper ci}
|
||||||
|
\item{i_up}{total upper ci}
|
||||||
|
\item{a_per}{domain a percentile}
|
||||||
|
\item{b_per}{domain b percentile}
|
||||||
|
\item{c_per}{domain c percentile}
|
||||||
|
\item{d_per}{domain d percentile}
|
||||||
|
\item{e_per}{domain e percentile}
|
||||||
|
\item{i_per}{total percentile}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\usage{
|
||||||
|
data(score)
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
Contains non-identifiable organic trial data from a five-dimensional cognitive test.
|
||||||
|
}
|
||||||
|
\keyword{datasets}
|
@ -5,7 +5,7 @@
|
|||||||
\alias{talos}
|
\alias{talos}
|
||||||
\title{Data frame with sample of TALOS data}
|
\title{Data frame with sample of TALOS data}
|
||||||
\format{
|
\format{
|
||||||
A data frame with 200 rows and 1 variable:
|
A data frame with 200 rows and 6 variables:
|
||||||
\describe{
|
\describe{
|
||||||
\item{rtreat}{Randomisation}
|
\item{rtreat}{Randomisation}
|
||||||
\item{mrs_1}{Modified Rankin scale score at follow-up}
|
\item{mrs_1}{Modified Rankin scale score at follow-up}
|
||||||
|
Loading…
Reference in New Issue
Block a user