r - Печать графиков из списка возвращает ошибку определения
Я создал серию графиков, используя ggplot
а также lapply
, вот так:
makeplot <- function(data){
require(ggplot2)
require(dplyr)
ggplot(data,aes(x=num,y=cat3, fill=cat3)) +
facet_wrap(~cat2)
# etc...
}
plot_list <- lapply(split(data, interaction(data[,c("province","cat1")]), drop = TRUE), makeplot)
Я использую большой фрейм данных, который можно упростить до:
data <- data.frame(
province = sample(c("1","2","3","4")),
cat1 = sample(c("health","education","banks","etc")),
cat2 = sample(c("winter","spring","summer","fall")),
cat3 = sample(c("1 hour","2 hours","4 hours","8 hours")),
Y = sample(1:100))
Это генерирует список графиков, таких как:
Я пытаюсь напечатать или ggsave
из этого списка, как здесь: сохранение графиков в пределах LAPPLY.
Тем не менее, все попытки экспортировать / распечатать полученные графики, будь то с lapply
петля или простой print
оператор возвращает следующую ошибку.
lapply(plot_list,print)
Error: `quo` must be a quosure
Call `rlang::last_error()` to see a backtrace
Боюсь, что документация R по опросам не дала полезной информации. Я не разработчик и не очень понимаю большую часть документации. Может кто-нибудь мне помочь?
Я первоначально отправил это без особой сложности lapply
фильтрация происходила раньше, так как это казалось отвлекающей неуместностью. Я предоставляю это сейчас на случай, если это будет полезно. Для справки, фактический кадр данных head
похоже:
~season, ~fac_type, ~trav_cat, ~avg_pc_pop, ~loop,
"Monsoon season", "All financial institutions", "0 to 30 minutes", 0.41395948733655, "Monsoon season All financial institutions",
"Normal season", "All health facilities", "0 to 30 minutes", 0.426855030030894, "Monsoon season All health facilities",
"Other season", "All hospitals", "1 to 2 hours", 0.301967752836744, "Monsoon season All hospitals",
"Monsoon season", "Commercial and development banks", "4 to 8 hours", 0.385783483483483, "Monsoon season Commercial and development banks",
"Normal season", "District Headquarters", "16 to 32 hours", 0.270673828371869, "Monsoon season District Headquarters",
"Other season", "Government hospitals", "1 to 2 hours", 0.263825993199371, "Monsoon season Government hospitals"