#r
Вопрос:
Я использую функцию CreateTableOne для создания таблицы описательной статистики — в качестве примера я использовал набор данных mtcars (и изменил две переменные на коэффициент для имитации категориальных переменных).
library(tableone)
mydata <- mtcars
mydata$gear <- as.factor(mydata$gear)
mydata$carb <- as.factor(mydata$carb)
VarsForTableOne <- c("mpg", "cyl", "disp", "hp", "drat", "wt", "gear", "carb")
myTableOne <- CreateTableOne(vars = VarsForTableOne, data = mydata, strata = "vs")
summary(myTableOne)
myTableOne$ContTable
myTableOne$CatTable
Теперь я хотел бы получить таблицу данных с непрерывными аспектами (мин, среднее, медиана, макс, квартили) и категориальными данными (в процентах) с каждой характеристикой по переменной.
резюме(myTableOne) генерирует всю интересующую меня информацию, но myTableOne$ContTable и myTableOne$CatTable недостаточно. Есть ли способ настроить вывод CreateTableOne?
В конце концов, я хотел бы получить таблицу, которая может быть отформатирована как HTML в уценке и/или скопирована в Excel.
Спасибо за любую помощь!
Ответ №1:
Я не уверен, {tableone}
но вот решение с использованием пакета {crosstable}
.
Отказ от ответственности: Я автор этого пакета.
library(crosstable)
mydata <- mtcars
mydata$gear <- as.factor(mydata$gear)
varsForDescription <- c("mpg", "cyl", "gear")
crosstable(mydata, cols=any_of(varsForDescription),
by=vs, test=TRUE) %>%
as_flextable()
#> Warning: Be aware that automatic global testing should only be done in an exploratory context, as it would cause extensive alpha inflation otherwise.
#> This warning is displayed once every 8 hours.
Создано в 2021-10-24 годах пакетом reprex (v2.0.1)
Вы можете полностью настроить, какую функцию суммирования использовать для непрерывных переменных (например, попробуйте funs=c(mean=mean, "std error"=sd)
) и как вычисляются проценты (например, попробуйте margin=c("row", "col")
).
Здесь я использую flextable()
для вывода HTML-таблицы, которую вы можете встроить в RMarkdown или MS Word, но я мог бы использовать as_workbook()
для вывода openxlsx
книги, которую вы можете экспортировать в Excel.
Вы можете прочитать больше об этом в документации, есть много других функций, которые могут представлять интерес.
Комментарии:
1. Это здорово, большое вам спасибо!!