Я обнаружил, что grid.table
может использоваться для построения кадра данных в pdf-файле, как описано здесь .Я хочу сохранить фрейм данных в альбомном формате A4, однако, похоже, он не масштабирует данные таким образом, чтобы он хорошо вписывался в границы PDF-файла.
Код
library(gridExtra)
set.seed(1)
strings <- c('Wow this is nice', 'I need some coffee', 'Insert something here', 'No ideas left')
table <- as.data.frame(matrix(ncol = 9, nrow = 30, data = sample(strings,30, replace = TRUE)))
pdf("test.pdf", paper = 'a4r')
grid.table(table)
dev.off()
Вывод
Не вся таблица показана в формате PDF:
Вопрос
Как я могу убедиться, что кадр данных масштабирован, чтобы уместиться в альбомную ориентацию A4? Мне явно не нужно gridExtra
или сохранение по умолчанию pdf
, я могу использовать любой другой пакет, если этилегче это исправить.
РЕДАКТИРОВАТЬ
Я встречал этот другой вопрос , очевидно, можно определить необходимую высоту и ширинуtableGrob
tg = gridExtra::tableGrob(table)
h = grid::convertHeight(sum(tg$heights), "mm", TRUE)
w = grid::convertWidth(sum(tg$widths), "mm", TRUE)
ggplot2::ggsave("test.pdf", tg, width=w, height=h, units = 'mm')
Здесь h = 172.2
и w = 444.3
, которые превышают размер стандартного A4, а именно 210 x 279. Так что я знаю, что это вызывает проблему, однако все еще не может разобраться в масштабевниз по столу, чтобы разместить его на A4.