Опции, чтобы ваша функция работала.
Опция - I
Удалить строку return ()
, которая в основном возвращает NULL
после завершения функции (ваш график является локальным для функции a
, и график недоступенвне функции, и никакие параметры не передаются для возврата).
a <- function(data)
{
# Basic piechart
ggplot(data, aes(x="", y=value, fill=group)) +
geom_bar(stat="identity", width=1, color="white") +
coord_polar("y", start=0) +
theme_void() # remove background, grid, numeric labels
}
Option-II
Сохраните график в локальной переменной в функции и верните его по завершении.
a <- function(data)
{
# Basic piechart
p <- ggplot(data, aes(x="", y=value, fill=group)) +
geom_bar(stat="identity", width=1, color="white") +
coord_polar("y", start=0) +
theme_void() # remove background, grid, numeric labels
return(p)
}
Опция - III
Использовать environment = environment()
, который явно задает переменную среды для текущей среды при вызове ggplot
. Вы можете прочитать больше о Использование ggplot () в другой функции в R .
a <- function(data)
{
# Basic piechart
p <- ggplot(data, aes(x="", y=value, fill=group), environment = environment())
p + geom_bar(stat="identity", width=1, color="white") +
coord_polar("y", start=0) +
theme_void() # remove background, grid, numeric labels
}
Теперь вы можете использовать a(data)
для печати вывода.
Выход