Я хочу добавить сводную таблицу для построения графика с помощью ggplot. Я использую annotation_custom, чтобы добавить ранее созданную таблицу.
Моя проблема в том, что в таблице указано другое количество десятичных знаков.
В качестве примера я использую базу данных mtcars, и мои строки кода следующие:
rm(list=ls()) #Clear environment console
data(mtcars)
head(mtcars)
library(dplyr)
library(tidyr)
library(ggplot2)
library(gridExtra)
table <- mtcars %>% #summary table that needs to be avelayed to the plot
select(wt) %>%
summarise(
Obs = length(mtcars$wt),
Q05 = quantile(mtcars$wt, prob = 0.05),
Mean = mean(mtcars$wt),
Med = median(mtcars$wt),
Q95 = quantile(mtcars$wt, prob = 0.95),
SD = sd(mtcars$wt))
dens <- ggplot(mtcars) + #Create example density plot for wt variable
geom_density(data = mtcars, aes(mtcars$wt))+
labs(title = "Density plot")
plot(dens)
dens1 <- dens + #Overlaping summary table to density plot
annotation_custom(tableGrob(t(table),
cols = c("WT"),
rows=c("Obs", "Q-05", "Mean", "Median", "Q-95", "S.D." ),
theme = ttheme_default(base_size = 11)),
xmin=4.5, xmax=5, ymin=0.2, ymax=0.5)
print(dens1)
Запуск предыдущего я получаю следующую картину
График плотности
Я бы хотел установить количество отображаемых десятичных знаков только в 2.
Я уже пытался добавить sprintf
annotation_custom(tableGrob(t(sprintf("%0.2f",table)),
Но получена следующая ошибка «Ошибка в sprintf («% 0.2f », table_pet):
(список) объект не может быть приведен к типу 'double' "
Я искал без всякого взгляда. Любая идея, как я могу это сделать.
Заранее спасибо