Produzieren von ggplots aus einer Schleife (und Generieren der Dateien), ohne sichtbare Ausgaben in RMarkdown zu drucken

Ich baue eine Tabelle mit einer Mischung aus Zahlen, Text und Zeichnungen. Ich habe meine Grundstücke mit ggplot erstellt und sie anschließend der Tabelle hinzugefügt (siehe Code unten). Da ich (irgendwann) viele Diagramme haben werde, muss ich eine Schleife verwenden, um sie alle effizient zu erstellen. Da für ggplot jedoch offenbar ein Druckvorgang erforderlich ist, um Bildverknüpfungen für jeden Plot zu erstellen, kann ich @ nicht verwendeinvisible(), und anschließend die lästige '1] [[2]] [[3]] 'wird oben im Bild unten ausgegeben.

Wie kann ich das Dokument kompilieren, ohne sichtbare Ausgaben von ggplot zu drucken?

```{r score_table, fig.show = "hide", echo = FALSE, fig.height=.75, fig.width=2.5}

#Load libraries
library(knitr)
library(ggplot2)

#Item data
items <- data.frame(text = sapply(1:3, FUN = function(x){
  paste0(sample(x = LETTERS, size = 60, replace = T), collapse = "")}))

#Score data
score_set = replicate(n = 3, expr = {data.frame(other = rep("other", 4),
  score=sample(1:7,4,TRUE))}, simplify = F)

#Plot function
plotgen<-function(score_set,other,score){
  p <- ggplot(score_set, aes(factor(other), score))
  p + geom_violin(fill = "#99CCFF") + coord_flip() + scale_x_discrete(name=NULL) +
    scale_y_continuous(breaks = round(seq(1, 7, by = 1),1), limits = c(1,7), name=NULL) +
    theme(axis.text.y=element_blank(),axis.title.y=element_blank(),axis.ticks.y=elemen    t_blank(),
          panel.grid.major.y = element_line(colour = "black"),
          panel.grid.minor = element_blank(),
          panel.background = element_rect(fill = "white"),
          panel.border = element_rect(colour = "black", fill=NA, size=1)) +
    geom_hline(yintercept=sample(1:7,1,TRUE), size = 1.5, colour = "#334466")
}

#Generate plots
print(lapply(seq_along(score_set), FUN = function(x){plotgen(score_set[[x]],other,score)}))

out <- cbind(row.names(items), as.character(items$text), sprintf("![](%s%s-%s.png)", 
       opts_current$get("fig.path"), opts_current$get("label"), 1:nrow(items)))

#Build table
kable(out, col.names = c("ID", "Text", "Scores"))
```

Antworten auf die Frage(2)

Ihre Antwort auf die Frage