fit2df | R Documentation |
finalfit
model
extractorsTakes output from finalfit
model wrappers and extracts to a dataframe,
convenient for further processing in preparation for final results table.
fit2df.lm
is the model extract method for lm
.
fit2df.lmlist
is the model extract method for lmuni
and
lmmulti
.
fit2df.glm
is the model extract method for standard
glm
models, which have not used finalfit
model
wrappers.
fit2df.glmboot
is the model extract method for glmmulti_boot
models.
fit2df.glmlist
is the model extract method for glmuni
and glmmulti
.
fit2df.svyglmlist
is the model extract method for svyglmuni
and svyglmmulti
.
fit2df.lmerMod
is the model extract method for standard
lme4::lmer
models and for the
finalfit::lmmixed
model wrapper.
fit2df.glmerMod
is the model extract method for standard
lme4::glmer
models and for the
finalfit::glmmixed
model wrapper.
fit2df.coxph
is the model extract method for survival::coxph
.
fit2df.coxphlist
is the model extract method for coxphuni
and coxphmulti
.
fit2df.crr
is the model extract method for cmprsk::crr
.
fit2df.coxme
is the model extract method for eoxme::coxme
.
fit2df.crr
is the model extract method for
crruni
and crrmulti
.
fit2df.stanfit
is the model extract method for our standard Bayesian
hierarchical binomial logistic regression models. These models will be fully
documented separately. However this should work for a single or multilevel
Bayesian logistic regression done in Stan, as long as the fixed effects are
specified in the parameters block as a vector named beta
, of length
P
, where P
is the number of fixed effect parameters. e.g.
parameters( vector[P] beta; )
fit2df.mipo
is the model extract method for the mipo
object
created using mice::pool
.
fit2df(...)
## S3 method for class 'lm'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
remove_intercept = TRUE,
explanatory_name = "explanatory",
estimate_name = "Coefficient",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
confint_level = 0.95,
confint_sep = " to ",
...
)
## S3 method for class 'lmlist'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
remove_intercept = TRUE,
explanatory_name = "explanatory",
estimate_name = "Coefficient",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
confint_level = 0.95,
confint_sep = " to ",
...
)
## S3 method for class 'glm'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
remove_intercept = TRUE,
explanatory_name = "explanatory",
estimate_name = "OR",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
exp = TRUE,
confint_type = "profile",
confint_level = 0.95,
confint_sep = "-",
...
)
## S3 method for class 'glmboot'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
remove_intercept = TRUE,
explanatory_name = "explanatory",
estimate_name = "OR",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
exp = TRUE,
confint_level = 0.95,
confint_sep = "-",
...
)
## S3 method for class 'glmlist'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
remove_intercept = TRUE,
explanatory_name = "explanatory",
estimate_name = "OR",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
exp = TRUE,
confint_type = "profile",
confint_level = 0.95,
confint_sep = "-",
...
)
## S3 method for class 'svyglmlist'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
remove_intercept = TRUE,
explanatory_name = "explanatory",
estimate_name = "Coefficient",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
exp = FALSE,
confint_type = "profile",
confint_level = 0.95,
confint_sep = "-",
...
)
## S3 method for class 'lmerMod'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
remove_intercept = TRUE,
explanatory_name = "explanatory",
estimate_name = "Coefficient",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
confint_type = "Wald",
confint_level = 0.95,
confint_sep = " to ",
...
)
## S3 method for class 'glmerMod'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
remove_intercept = TRUE,
explanatory_name = "explanatory",
estimate_name = "OR",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
exp = TRUE,
confint_type = "Wald",
confint_level = 0.95,
confint_sep = "-",
...
)
## S3 method for class 'coxph'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
explanatory_name = "explanatory",
estimate_name = "HR",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
confint_sep = "-",
...
)
## S3 method for class 'coxphlist'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
explanatory_name = "explanatory",
estimate_name = "HR",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
confint_sep = "-",
...
)
## S3 method for class 'crr'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
explanatory_name = "explanatory",
estimate_name = "HR",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
confint_sep = "-",
...
)
## S3 method for class 'coxme'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
explanatory_name = "explanatory",
estimate_name = "HR",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
confint_sep = "-",
...
)
## S3 method for class 'crrlist'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
explanatory_name = "explanatory",
estimate_name = "HR",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
confint_sep = "-",
...
)
## S3 method for class 'stanfit'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
remove_intercept = TRUE,
explanatory_name = "explanatory",
estimate_name = "OR",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
confint_sep = "-",
...
)
## S3 method for class 'mipo'
fit2df(
.data,
condense = TRUE,
metrics = FALSE,
remove_intercept = TRUE,
explanatory_name = "explanatory",
estimate_name = "Coefficient",
estimate_suffix = "",
p_name = "p",
digits = c(2, 2, 3),
exp = FALSE,
confint_level = 0.95,
confint_sep = "-",
...
)
... |
Other arguments: |
.data |
Output from |
condense |
Logical: when true, effect estimates, confidence intervals and p-values are pasted conveniently together in single cell. |
metrics |
Logical: when true, useful model metrics are extracted. |
remove_intercept |
Logical: remove the results for the intercept term. |
explanatory_name |
Name for this column in output |
estimate_name |
Name for this column in output |
estimate_suffix |
Appeneded to estimate name |
p_name |
Name given to p-value estimate |
digits |
Number of digits to round to (1) estimate, (2) confidence interval limits, (3) p-value. |
confint_level |
The confidence level required. |
confint_sep |
String to separate confidence intervals, typically "-" or " to ". |
exp |
Currently GLM only. Exponentiate coefficients and confidence intervals. Defaults to TRUE. |
confint_type |
One of |
fit2df
is a generic (S3) function for model extract.
A dataframe of model parameters. When metrics=TRUE
output is a
list of two dataframes, one is model parameters, one is model metrics.
length two
library(finalfit)
library(dplyr)
library(survival)
# glm
fit = glm(mort_5yr ~ age.factor + sex.factor + obstruct.factor + perfor.factor,
data=colon_s, family="binomial")
fit %>%
fit2df(estimate_suffix=" (multivariable)")
# glmlist
explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor")
dependent = "mort_5yr"
colon_s %>%
glmmulti(dependent, explanatory) %>%
fit2df(estimate_suffix=" (univariable)")
# glmerMod
explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor")
random_effect = "hospital"
dependent = "mort_5yr"
colon_s %>%
glmmixed(dependent, explanatory, random_effect) %>%
fit2df(estimate_suffix=" (multilevel)")
# glmboot
## Note number of draws set to 100 just for speed in this example
explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor")
dependent = "mort_5yr"
colon_s %>%
glmmulti_boot(dependent, explanatory, R = 100) %>%
fit2df(estimate_suffix=" (multivariable (BS CIs))")
# lm
fit = lm(nodes ~ age.factor + sex.factor + obstruct.factor + perfor.factor,
data=colon_s)
fit %>%
fit2df(estimate_suffix=" (multivariable)")
# lmerMod
explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor")
random_effect = "hospital"
dependent = "nodes"
colon_s %>%
lmmixed(dependent, explanatory, random_effect) %>%
fit2df(estimate_suffix=" (multilevel")
# coxphlist
explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor")
dependent = "Surv(time, status)"
colon_s %>%
coxphuni(dependent, explanatory) %>%
fit2df(estimate_suffix=" (univariable)")
colon_s %>%
coxphmulti(dependent, explanatory) %>%
fit2df(estimate_suffix=" (multivariable)")
# coxph
fit = coxph(Surv(time, status) ~ age.factor + sex.factor + obstruct.factor + perfor.factor,
data = colon_s)
fit %>%
fit2df(estimate_suffix=" (multivariable)")
# crr: competing risks
melanoma = boot::melanoma
melanoma = melanoma %>%
mutate(
status_crr = ifelse(status == 2, 0, # "still alive"
ifelse(status == 1, 1, # "died of melanoma"
2)), # "died of other causes"
sex = factor(sex),
ulcer = factor(ulcer)
)
dependent = c("Surv(time, status_crr)")
explanatory = c("sex", "age", "ulcer")
melanoma %>%
summary_factorlist(dependent, explanatory, column = TRUE, fit_id = TRUE) %>%
ff_merge(
melanoma %>%
crrmulti(dependent, explanatory) %>%
fit2df(estimate_suffix = " (competing risks)")
) %>%
select(-fit_id, -index) %>%
dependent_label(melanoma, dependent)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.