Добавить график к элементам NULL списка в R

Моя цель — удлинить, изменить порядок и заполнить список графиков «пустыми» графиками. если какие-либо элементы списка отсутствуют.

До сих пор моя попытка была в состоянии удлинить и изменить порядок частичного списка, но я борюсь назначить пустые участки. Вот неполный список и желаемый результат, а также код моей попытки.

Как я могу добавить «emptyPlot» к каждому элементу NULL в «l3»? Или есть другой способ сделать это?

library(ggplot2)
somePlot <- ggplot() + ggtitle("Some plot.")+ theme_bw() 
emptyPlot <- ggplot() + ggtitle("Nothing to see here.") + theme_void() 
  
# input list
partial_list <- list(fourth = somePlot, first = somePlot)

# desired output
desired <- list(first = somePlot, second = somePlot, third = emptyPlot, fourth = somePlot)

# a reference vector for what the list should contain that also specifies the desired order
reference <- c("first", "second", "third", "fourth")

# convert missing elements to NA 
reference[!reference %in% names(partial_list)] <- NA

# lengthen list with NAs
l2 <- c(partial_list, rep(NA, sum(is.na(reference))))

# reorder to follow the reference
l3 <- l2[reference]

# this approach did not give the desired output.
appendEmptyPlot <- function(x) {x[is.null(x)] <- emptyPlot; x}

l4 <- lapply(l3, appendEmptyPlot)
l4
Почему в Python есть оператор &quot;pass&quot;?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
133
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вероятно, вам понадобится такой цикл:

for (r in reference) {
   if (!r %in% names(partial_list))
   partial_list[[r]] <- emptyPlot
 }

l4 <- partial_list[reference]

Другие вопросы по теме