РАСКРЫТИЕ: Я не уверен, как сделать воспроизводимый пример для этого вопроса.распечатка списка грызунов
Я пытаюсь составить список грызунов с помощью пакета gridExtra
.
У меня есть некоторый код, который выглядит следующим образом:
## Make Graphic Objects for Spec and raw traces
for (i in 1:length(morletPlots)){
gridplots_Spec[[i]]=ggplotGrob(morletPlots[[i]])
gridplots_Raw[[i]]=ggplotGrob(rawPlot[[i]])
gridplots_Raw[[i]]$widths=gridplots_Spec[[i]]$widths
}
names(gridplots_Spec)=names(morletPlots)
names(gridplots_Raw)=names(rawPlot)
## Combine spec and Raw traces
g=list()
for (i in 1:length(rawPlot)){
g[[i]]=arrangeGrob(gridplots_Spec[i],gridplots_Raw[i],heights=c(4/5,1/5))
}
numPlots = as.numeric(length(g))
##Plot both
for (i in 1:numPlots){
grid.draw(g[i],ncol=2)
}
Позвольте мне пройти через код.
morletPlots
= список ggplots
rawplot
= A список ggplots
gridplots_spec
и gridplots_Raw
= Список grobs из ggplots сделанных выше.
g
= список двух гномов выше комбинированных, поэтому объединение gridplots_spec[1]
и gridplots_raw[1]
так далее и т. Д. Для длины списка.
теперь моей целью было бы два участка все из них на 2 столбца. Но всякий раз, когда я прохожу gridplots_spec[i]
через петлю grid.draw я получаю сообщение об ошибке:
Error in UseMethod("grid.draw") : no applicable method for 'grid.draw' applied to an object of class "list"
Я не могу unlist это еще потому, что просто превращается в длинный вектор символов. есть идеи?
Если это абсолютно важно, я могу потратить время на создание воспроизводимого примера, но я скорее всего просто не пропустил простой шаг.
Посмотрите разницу между '[[' и '['. Попробуйте 'grid.draw (g [[i]])' – Roland
Я сделал то, что получаю, 'Ошибка в gList (список (список (grobs = список (список (x = 0,5, y = 0,5, width = 1,: ) только «grobs» разрешено в «gList» ' –
Ну, у вас такая же ошибка в предыдущем цикле' for'. – Roland