Транспонирование таблицы для использования с gt::gt()

Я бы хотел трубку gt в конце этой команды, но функция создает список, который не разрешен в gt()

Error in UseMethod("group_vars"): no applicable method for 'group_vars' applied to an object of class "c('matrix', 'array', 'list')"`

test <- datasets::attenu%>% map(function(x) (sum(is.na(x)))) 
test %<>% t(.) 

Я могу это сделать, если

datasets::attenu %>% map(function(x) (sum(is.na(x)))) %>% as_tibble() %>% gt::gt()

но тогда я не могу переставить стол

test <- t(test)

в любой момент. Есть предложения, как сделать стол вертикальным? Может флип оси - это "баг", который можно добавить в апдейт.

1 ответ

Решение

Вы можете сначала summarise и получить данные в длинном формате:

library(dplyr)
library(tidyr)

datasets::attenu %>%
   summarise(across(.fns = ~sum(is.na(.)))) %>%
   #Or use summarise_all in older version of dplyr
   #summarise_all(~sum(is.na(.))) %>%
   pivot_longer(cols = everything()) %>%
   gt::gt()

Другие вопросы по тегам