atable_longitudinal {atable} | R Documentation |
A longitudinal version of atable
Description
This is a wrapper for atable(), calculating the same statistics, but with different format.
Usage
atable_longitudinal(x, ...)
## S3 method for class 'data.frame'
atable_longitudinal(
x,
target_cols,
split_cols,
group_col = NULL,
format_numeric = atable_options("format_statistics_longitudinal.statistics_numeric"),
format_factor = atable_options("format_statistics_longitudinal.statistics_factor"),
...
)
Arguments
x |
object passed to atable. Currently x must be a data.frame. |
... |
Passed to |
target_cols |
character. Exactly one of colnames(x). |
split_cols |
character. Exactly one of colnames(x). |
group_col |
character or NULL. If character then, one of colnames(x). |
format_numeric |
a function that defines the format of numeric variables. Analog to format_factor. |
format_factor |
a function that defines the format of factor variables.
Default is defined in |
Details
The intention is to report longitudinal data, i.e. data measured on the same objects on multiple times points.
This function allows only one target_col and only one split_col (the time point of the measurement).
The longitudinal formatting is:
The names of the target_col and split_col do not show up in the table. The names should thus be written in the caption of the table.
Numeric target_cols get one line in the table; the format of the statistics is: mean (sd), N, missing.
Factor target_cols also get one line in the table, when it has only two levels and only the first level is displayed in the table and the name of the variable is omitted. This is intended for item like "Sex at birth: Female/Male". Knowing the percentage of Female is sufficient in this case (when NAs are not counted). The name of the target_cols and its first level should be stated in the caption of the table, otherwise the table is uninformative. The format of the statistics is: percent
Factors with three or more levels get one line per level and the name of the variable is omitted. The format of the statistics is: percent
Argument block must omitted, as there is only one target_col and nothing to block.
See examples.
Value
data.frame
Methods (by class)
-
atable_longitudinal(data.frame)
: a longitudinal version of atable.
Examples
# create data with a time-variable
x = atable::test_data
set.seed(42)
x = within(x, {time = sample(paste0("time_", 1:5), size=nrow(x), replace = TRUE)})
split_cols = "time"
group_col = "Group2"
# table for a factor with two levels
atable_longitudinal(x,
target_cols = "Split2",
group_col = group_col,
split_cols = split_cols,
add_margins = TRUE)
# table for a factor with three levels
atable_longitudinal(x,
target_cols = "Split1",
group_col = group_col,
split_cols = split_cols,
add_margins = TRUE)
# table for a numeric variable
atable_longitudinal(x,
target_cols = "Numeric",
group_col = group_col,
split_cols = split_cols,
add_margins = TRUE)
# To print the table in Word or with Latex, use
# e.g. \link[Hmisc]{latex} or \link[officer]{body_add_table}.
# No further modification of the table is needed.
# See \code{\link{atable_compact}} for examples.