#r
#r
Вопрос:
У меня есть график и таблица, и я хотел бы объединить их в график. как мне это сделать.
Вот мои коды:
df<-structure(list(AEDECOD = c("Hypoxia", "Malignant pleural effusion",
"Decubitus ulcer", "Nausea"), ADY = c(13, 13, 13, 14)), row.names = c(NA,
-4L), class = "data.frame")
tbl <-structure(list(`Analysis Relative Day` = 13, `AE Type` = "SER",
`Adverse Event` = "Hypoxia/Malignant pleural effusion"), row.names = c(NA,
-1L), class = c("tbl_df", "tbl", "data.frame"))
p1<- ggplot(data =df, aes(x = ADY, y = AEDECOD)) geom_point()
p2 <-grid.arrange(p1, tbl,
nrow = 2,as.table = TRUE)
print(p2)
Я получил коды ошибок:
Error: Input must be a vector, not a <viewport> object.
Если вы знаете какой-либо другой способ сделать то же самое, я бы тоже хотел этому научиться.
Ответ №1:
Мы можем использовать ggarrange
после преобразования tibble
в ggtexttable
library(ggpubr)
ggarrange(p1, ggtexttable(tbl), nrow = 2)
Или с помощью кода OP
library(gridExtra)
grid.arrange(p1, ggtexttable(tbl),
nrow = 2,as.table = TRUE)
-вывод
Комментарии:
1. Что, если я хочу добавить сноску
Just testing
к графику, как я должен ее добавить? Я хотел бы иметь сноску под таблицей, а не прямо под графиком.2. @Stataq вы можете преобразовать в
gt
с помощью tab_footnote3. Спасибо. Но примечание к сноске на самом деле не является сноской для таблицы. больше похоже на сноску для P2. А также как выровнять таблицу по левому краю?
4. @Stataq Не могли бы вы опубликовать новый вопрос. Спасибо
5. @Stataq когда вы говорите, что это не сноска, что вы имеете в виду? Я думал о чем-то вроде
p2 <- tbl %>% gt() %>% tab_footnote('Just texting', locations = cells_column_labels(columns = "Adverse Event"))