Используйте сводку(CreateTableOne) в выводе HTML

#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. Это здорово, большое вам спасибо!!