2015-10-03 2 views
2

У меня возникли проблемы с составлением простого резюме.R: gridExtra - Как составить сводку в виде таблицы?

library(gridExtra)
SummaryTable <- summary(s.tvs$precio.nuevo)
grid.table(SummaryTable)

дает мне это:

enter image description here

Я хочу, чтобы достичь чего-то вроде этого:

enter image description here

+0

'grid.table (т (суммарные (mtcars $ миль на галлон)))' – user20650

+0

работы. Пожалуйста, сделайте полный ответ и объясните использование t() в таких ситуациях. –

ответ

2

Обновить комментарий:

grid.table звонки tableGrob.

grid.table 
#function (...) 
#grid.draw(tableGrob(...)) 
#<environment: namespace:gridExtra> 

С ?tableGrob его первым аргументом является матрицей или data.frame. t принуждает именованный вектор, возвращаемый summary, к матрице с размером одной строки. В качестве альтернативы вы можете использовать as.matrix для создания матрицы с одним столбцом.

grid.newpage() 
grid.table(t(summary(mtcars$mpg))) 

enter image description here

grid.newpage() 
grid.table(as.matrix(summary(mtcars$mpg))) 

enter image description here

Из комментариев:

Вопрос: Я пытаюсь построить в barplot и таблицы, генерируемой в этом ответе. Я получаю: Error in gList(list(grobs = list(list(x = 0.5, y = 0.5, width = 1, height = 1, : only 'grobs' allowed in "gList" при использовании этого кода: grid.arrange(a, tbl, ncol = 1)

Чтобы комбинировать разные таблицы/графики с использованием grid.arrange, они должны быть grobs (сетка GRaphcal OBjects). Таким образом, вы не можете передавать результаты от grid.table до grid.arrange, так как это не гроб (он фактически отображает tableGrob). Для этого вам необходимо пройти tableGrob.

Так, например:

mybar <- qplot(mtcars$mpg, geom="bar") 
tbl <- tableGrob(t(summary(mtcars$mpg))) 
grid.newpage() 
grid.arrange(mybar, tbl) 
+0

Я пытаюсь построить барплот и таблицу, сгенерированную в этом ответе. Я получаю: «Ошибка в gList (список (grobs = список (список (x = 0,5, y = 0,5, width = 1, height = 1,: ), только« grobs »разрешен в« gList »' при использовании этого кода: ' grid.arrange (a, tbl, ncol = 1) '... должен что-то сделать с преобразованием? –

+0

Что такое' a' (barplot производится, как возможно?), и я предполагаю, что 'tbl' является вашей' grid.table '. Попробуйте передать tableGrob вместо использования' grid.table' (например, 'grid.arrange (qplot (mtcars $ mpg, geom =" bar "), tableGrob (t (summary (mtcars $ mpg)))) ' – user20650

+0

Посмотрите на разницу' class (grid.table (t (summary (mtcars $ mpg)))); class (tableGrob (t (summary (mtcars $ mpg)))) ' – user20650

Смежные вопросы