сетка.таблица и tableGrob в пакете gridExtra


Я пытаюсь отформатировать таблицу с помощью пакета gridExtra. Пакет gridExtra у меня есть 2.0, а версия R-3.2.1

Я просматривал ответы здесь на stackoverflow о форматировании, и предложенные варианты, похоже, работают только с более старой версией пакета. Например,

grid.table(data, h.even.alpha = 1, h.odd.alpha = 0, 
           v.even.alpha = 1, v.odd.alpha = 1, 
           gpar.corefill, gpar.coretext) 

Все эти параметры показаны как" неиспользуемые аргументы " в последней версии.

Поискав дальше, я обнаружил, что в новом пакете gridExtra форматирование определяется, вероятно, внутри Тема, пример -

tt <- ttheme_default(core=list(fg_params=list(hjust=1, x=0.95)), 
                     colhead=list(fg_params=list(col="brown"))

И затем делать

grid.table(data, theme=tt). 

Чего я не мог найти, так это как эти параметры внутри темы определены и как теперь можно сделать все форматирование, которое было возможно в старой версии.

В частности, я ищу, чтобы сделать -

  1. левое выравнивание столбцов
  2. запятые для больших.знаки (10000 как 10000)
  3. различные цвета строк для четных и нечетных номеров строк
  4. цвет заголовка столбца
  5. не показаны имена строк (что-то вроде Роу.имена=ложь)
1 9

1 ответ:

Этот недавний ответ показывает, как изменить параметры, и Батист дает ссылку на дальнейшие примеры. Как вы заметили в своем вопросе, чтобы изменить форматирование, вы используете аргумент theme; Вы можете увидеть, какие параметры нужно изменить, посмотрев на выходные данные ttheme_default()

# New theme paramters
myt <- ttheme_default(
         # Use hjust and x to left justify the text
         # Alternate the row fill colours
                 core = list(fg_params=list(hjust = 1, x=1),
                             bg_params=list(fill=c("yellow", "pink"))),

         # Change column header to white text and red background
                 colhead = list(fg_params=list(col="white"),
                                bg_params=list(fill="red"))
 )

# Example data - create some large numbers  
dat <- mtcars[1:5,1:5]
dat$mpg <- dat$mpg*1000

grid.newpage()
grid.draw(tableGrob(format(dat, big.mark=","), theme=myt, rows=NULL))

Аргумент big.mark format используется для добавления разделителя запятых, а имена строк удаляются с помощью аргумента rows=NULL.

Введите описание изображения здесь