Я столкнулся со странной проблемой, когда пытался сгенерировать слайд с условной точкой питания с использованием R. Если я использую следующий код, то созданная колода слайдов будет иметь все слайды, сгенерированные из предыдущих элементов в списке. зацикливание (так что условная часть l oop не работает). Таким образом, если список состоит из 3 элементов, а я генерирую 2 слайда на элемент, во 2-й колоде будет 4 слайда и 3 - 6 слайдов.
path_out <- "C: [insert drive emplacement]\\"
ppt_template <- read_pptx()
fn_ppt_template <- function(data){
template <- ppt_template %>%
# Make slide:
add_slide(layout="Title and Content", master="Office Theme") %>%
ph_with_text(type = "title", str = "Analyis") %>%
ph_with_text(type = "body", str = paste(unique(data$country),"[insert date],", sep = " ")) %>%
# Print to save powerpoint
print(target = paste0(path_out,unique(data$iso3),"_analyses.pptx"))
}
iso3 <- c('ABW','AFG')
country <- c("Aruba", "Afghanistan")
template_list <- data.frame(iso3, country, stringsAsFactors=FALSE)
template_list <- template_list %>% split(list(template_list$iso3),drop = T)
template_list %>% map(~fn_ppt_template(data = .x))
Однако, если я запускаю следующий код, я не сталкиваюсь с этой проблемой и не могу точно определить, почему именно.
path_out <- "C:[insert drive emplacement]\\"
fn_ppt_template <- function(data){
template <- read_pptx() %>%
# Make slide:
add_slide(layout="Title and Content", master="Office Theme") %>%
ph_with_text(type = "title", str = "Analyis") %>%
ph_with_text(type = "body", str = paste(unique(data$country),"[insert date],", sep = " ")) %>%
# Print to save powerpoint
print(target = paste0(path_out,unique(data$iso3),"_analyses.pptx"))
}
iso3 <- c('ABW','AFG')
country <- c("Aruba", "Afghanistan")
template_list <- data.frame(iso3, country, stringsAsFactors=FALSE)
template_list <- template_list %>% split(list(template_list$iso3),drop = T)
template_list %>% map(~fn_ppt_template(data = .x))