2016-10-11 7 views
0

私はknitrを使用して、複数の画像を含むマークダウンファイルを作成しています。毎回パスを入力したくないので、私はそれを相対的にしたい。 mainDir <- ~/Documents/R/Images/ subDir <- Logo color <- blue.PNGをRの相対フォルダパスに追加

ここで、実際の画像を印刷するには、「.png」を追加します。そして私はコードの他の部分で変数 'blue'を使用しているので、色を<- blue.pngに変更したくありません。 img1 <- rasterGrob(as.raster(readPNG(file.path(mainDir, subDir, color, ".png"))), interpolate = FALSE)

私は次のエラーを取得する:readPNGで エラー(file.path(MAINDIR、SUBDIR、IMG、 ".PNG")):開くことができない /ドキュメント/ R /画像/ロゴ/ブルー/。 png

最後の「/」を削除すると、blue/.pngの代わりに「blue.png」が表示されます。あなたはへのファイルの拡張子を連結しますpaste機能を使用することができます

答えて

2

かについて:

mainDir <- "~/Documents/R/Images" 
subDir <- "Logo" 
color <- "blue` 
file.path(mainDir, subDir, paste(color, ".png",sep="")) 

結果パス文字列

img1 <- rasterGrob(as.raster(readPNG(paste(file.path(mainDir, subDir, color), ".png", sep = ""))), interpolate = FALSE)

http://stat.ethz.ch/R-manual/R-patched/RHOME/library/base/html/paste.html

あなたはサブディレクトリを追加するとき、それは重複されるようにまた、あなたは、mainDir <- "~/Documents/R/Images"の末尾/を必要としません。

+0

ありがとうございました! – vincers

2

"をblue.png〜/書類/ R /画像/ロゴ/" :

関連する問題