FreesearchR/man/regression_model.Rd

169 lines
3.8 KiB
Text
Raw Normal View History

2024-11-08 15:13:33 +01:00
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/regression_model.R
\name{regression_model}
\alias{regression_model}
2025-02-19 13:17:16 +01:00
\alias{regression_model_uv}
\alias{regression_model_list}
\alias{regression_model_uv_list}
\title{Create a regression model programatically}
2024-11-08 15:13:33 +01:00
\usage{
regression_model(
data,
2024-11-08 16:31:33 +01:00
outcome.str,
2025-02-19 13:17:16 +01:00
auto.mode = FALSE,
formula.str = NULL,
args.list = NULL,
fun = NULL,
vars = NULL,
...
)
regression_model_uv(
data,
outcome.str,
args.list = NULL,
fun = NULL,
vars = NULL,
...
)
regression_model_list(
data,
outcome.str,
fun.descr,
fun = NULL,
2024-11-08 15:13:33 +01:00
formula.str = NULL,
2024-11-08 16:31:33 +01:00
args.list = NULL,
2025-02-19 13:17:16 +01:00
vars = NULL,
...
)
regression_model_uv_list(
data,
outcome.str,
fun.descr,
2024-11-08 16:31:33 +01:00
fun = NULL,
2025-02-19 13:17:16 +01:00
formula.str = NULL,
args.list = NULL,
vars = NULL,
...
2024-11-08 15:13:33 +01:00
)
}
\arguments{
2025-02-19 13:17:16 +01:00
\item{data}{data}
2024-11-08 15:13:33 +01:00
2025-02-19 13:17:16 +01:00
\item{outcome.str}{name of outcome variable}
2024-11-08 15:13:33 +01:00
\item{auto.mode}{Make assumptions on function dependent on outcome data format. Overwrites other arguments.}
2024-11-08 15:13:33 +01:00
2025-02-19 13:17:16 +01:00
\item{formula.str}{custom formula glue string. Default is NULL.}
2024-11-08 15:13:33 +01:00
2025-02-19 13:17:16 +01:00
\item{args.list}{custom character string to be converted using
argsstring2list() or list of arguments. Default is NULL.}
2024-11-08 15:13:33 +01:00
2025-02-19 13:17:16 +01:00
\item{fun}{name of custom function. Default is NULL.}
2024-11-08 15:13:33 +01:00
\item{vars}{character vector of variables to include}
2025-02-19 13:17:16 +01:00
\item{...}{ignored}
\item{fun.descr}{Description of chosen function matching description in
"supported_functions()"}
2024-11-08 15:13:33 +01:00
}
\value{
object of standard class for fun
2025-02-19 13:17:16 +01:00
object of standard class for fun
list
list
2024-11-08 15:13:33 +01:00
}
\description{
2025-02-19 13:17:16 +01:00
Output is a concatenated list of model information and model
2024-11-08 15:13:33 +01:00
}
\examples{
gtsummary::trial |>
2024-11-08 16:31:33 +01:00
regression_model(outcome.str = "age")
2024-11-08 15:13:33 +01:00
gtsummary::trial |>
regression_model(
outcome.str = "age",
auto.mode = FALSE,
2024-11-08 15:13:33 +01:00
fun = "stats::lm",
formula.str = "{outcome.str}~.",
args.list = NULL
)
2025-02-19 13:17:16 +01:00
gtsummary::trial |>
default_parsing() |>
regression_model(
outcome.str = "trt",
auto.mode = FALSE,
fun = "stats::glm",
args.list = list(family = binomial(link = "logit"))
)
m <- mtcars |>
default_parsing() |>
regression_model(
outcome.str = "mpg",
auto.mode = FALSE,
fun = "stats::lm",
formula.str = "{outcome.str}~{paste(vars,collapse='+')}",
args.list = NULL,
vars = c("mpg", "cyl")
)
2025-03-24 14:43:50 +01:00
broom::tidy(m)
2025-02-19 13:17:16 +01:00
\dontrun{
gtsummary::trial |>
regression_model_uv(outcome.str = "age")
gtsummary::trial |>
regression_model_uv(
outcome.str = "age",
fun = "stats::lm",
args.list = NULL
)
m <- gtsummary::trial |> regression_model_uv(
2024-11-08 15:13:33 +01:00
outcome.str = "trt",
fun = "stats::glm",
2025-02-19 13:17:16 +01:00
args.list = list(family = stats::binomial(link = "logit"))
2024-11-08 15:13:33 +01:00
)
2025-03-24 14:43:50 +01:00
lapply(m, broom::tidy) |> dplyr::bind_rows()
2025-02-19 13:17:16 +01:00
}
\dontrun{
gtsummary::trial |>
regression_model(
outcome.str = "age",
fun = "stats::lm",
formula.str = "{outcome.str}~.",
args.list = NULL
)
ls <- regression_model_list(data = default_parsing(mtcars), outcome.str = "cyl", fun.descr = "Ordinal logistic regression model")
summary(ls$model)
ls <- regression_model_list(data = default_parsing(gtsummary::trial), outcome.str = "trt", fun.descr = "Logistic regression model")
tbl <- gtsummary::tbl_regression(ls$model, exponentiate = TRUE)
m <- gtsummary::trial |>
default_parsing() |>
regression_model(
outcome.str = "trt",
fun = "stats::glm",
formula.str = "{outcome.str}~.",
args.list = list(family = stats::binomial(link = "logit"))
)
tbl2 <- gtsummary::tbl_regression(m, exponentiate = TRUE)
broom::tidy(ls$model)
broom::tidy(m)
}
\dontrun{
2025-03-24 14:43:50 +01:00
gtsummary::trial |>
regression_model_uv(
outcome.str = "trt",
fun = "stats::glm",
args.list = list(family = stats::binomial(link = "logit"))
) |>
lapply(broom::tidy) |>
dplyr::bind_rows()
2025-02-19 13:17:16 +01:00
ms <- regression_model_uv_list(data = default_parsing(mtcars), outcome.str = "mpg", fun.descr = "Linear regression model")
2025-03-24 14:43:50 +01:00
lapply(ms$model, broom::tidy) |> dplyr::bind_rows()
2025-02-19 13:17:16 +01:00
}
2024-11-08 15:13:33 +01:00
}