Мы можем использовать pwalk
, cat
и print
. Входные данные для pwalk
представляют собой data.frame (список списков), содержащий только столбцы variable
и table_output
. Подобно pmap
, pwalk
проходит через каждый элемент обоих столбцов одновременно и на них ссылаются .x
и .y
в анонимной функции. В отличие от pmap
, pwalk
выполняет код без возврата какого-либо вывода. Это полезно, когда нам нужен только побочный эффект выполнения кода:
library(tidyverse)
library(janitor)
nested_df <- mpg %>%
select(manufacturer, class) %>%
gather(variable, value) %>%
group_by(variable) %>%
nest()
nested_df %>%
mutate(
table_output = map(data, ~ tabyl(.$value))
) %>%
select(-data) %>%
pwalk(~{
cat(paste0('Variable is: ', .x, '\n\nTabyl Output: \n\n'))
print(.y)
cat('\n\n')
})
Для печати строк мы используем cat
, чтобы избежать [1]
впереди. Чтобы напечатать вывод таблицы, мы используем print
. "\n"
s добавлены в пустые строки панели для удобства чтения.
Выход:
Variable is: manufacturer
Tabyl Output:
.$value n percent
audi 18 0.07692308
chevrolet 19 0.08119658
dodge 37 0.15811966
ford 25 0.10683761
honda 9 0.03846154
hyundai 14 0.05982906
jeep 8 0.03418803
land rover 4 0.01709402
lincoln 3 0.01282051
mercury 4 0.01709402
nissan 13 0.05555556
pontiac 5 0.02136752
subaru 14 0.05982906
toyota 34 0.14529915
volkswagen 27 0.11538462
Variable is: class
Tabyl Output:
.$value n percent
2seater 5 0.02136752
compact 47 0.20085470
midsize 41 0.17521368
minivan 11 0.04700855
pickup 33 0.14102564
subcompact 35 0.14957265
suv 62 0.26495726