2017-10-18 1 views
2

Ich möchte ein Bild in einem Paket in meinem Rmarkdown-Dokument enthalten. Ich kann dies mit tun:Verwenden von Inline-Code zum Generieren des Dateipfads in Rmarkdown

![](C:/Documents/R/mypackage/inst/images/myimage.jpg) 

Dies wird jedoch auf meinen Kollegen Maschinen nicht funktionieren, wenn das Paket einen anderen Dateipfad. Deshalb wan't ich die unten verwenden:

![](`r system.file("images", "myimage.jpg", package = "mypackage")`) 

Aber das schlägt fehl und gibt die folgende Meldung, wenn ich versuche knitr zu stricken mit:

pandoc.exe: Could not find image `', skipping... 

Ich versuchte auch, die unter dem in derselben versagt übrigens:

--- 
output: word_document 
params: 
d: !r system.file("images", "myimage.jpg", package = 
"mypackage") 
--- 

![](`r params$d`) 
+0

Wie teilen Sie die Markdown-Datei (en) mit Ihren Kollegen? Ich würde das Bild in Ihrem Arbeitsverzeichnis speichern – Marco

+0

Wie teilen Sie die Pakete mit Ihren Kollegen? Was gibt es dir 'getwd()'? und '.libPaths()'? – Marco

+0

Das Paket wird über devtools :: install_github() freigegeben. Meine Kollegen könnten das Bild in ihrem Arbeitsverzeichnis speichern, aber ich möchte die Bilder nicht zusammen mit der Rmarkdown-Datei verteilen, da sie das Bild bereits in ihrer Paketbibliothek gespeichert haben. Aber ich werde den Dateipfad nicht kennen, der für die Maschine eindeutig ist - daher muss system.file() verwendet werden. – Max888

Antwort

0

ich habe dies jetzt arbeiten - das Problem war, dass ich versuchte, nachdem er verwendet devtools zu stricken :: load_all() in meinem Paket Entwicklungsverzeichnis. Das Folgende funktioniert gut, wenn ich mein Paket mit devtools :: install_github() installiere und dann stricke.

![](`r system.file("images", "myimage.jpg", package = "mypackage")`) 
Verwandte Themen