PCのさまざまなファイルにきれいに保存された10,000個のpng画像があります。特定のフォルダーに移動し、そのフォルダー内のすべての png ファイルを Word 文書に繰り返しコピーして貼り付けるような関数を作成したいと考えています。これはRで可能ですか?
私はパッケージを見てきましたR2wd
が、悲しいことに RData を取り、そのプロットを単語文書に出力する関数しかありません ( function wdPlot
)。
また、すべてのプロットに対して RData を保存しているため、特定のプロットに関連付けられた RData を単純にロードしてからwdPlot
. 問題は、png を生成したときにプロットがグロブであり、次のようにしたことです。
png("rp.png",width=w,height=h)
plot(rp)
#Increase size of title
grid.edit(gridTitle_Ref, gp=gpar(fontsize=20))
#Other grid.edit alterations
dev.off()
save(rp)
さて、最初に RI に読み込んでその rp を word 文書に取得しようとすると、単純に次の操作を実行すると、タイトルが拡大されたり、その他のgrid.edit
変更が加えられたプロットが MS Word に出力されません。
load("rp.Rdata")
png("rp.png",width=w,height=h)
wdPlot(rp)
#Increase size of title
grid.edit(gridTitle_Ref, gp=gpar(fontsize=20))
#Other grid.edit alterations
dev.off()
繰り返しますが、これらのpngファイルはすべて持っています。さまざまな場合に、それらのサブセットをコピーして Word 文書に貼り付ける必要があります。私は毎回手動でそれを行うのが面倒なので、プログラムにそれをやってもらいたいと思っています。
編集1
したがって、以下の提案に従って、Markdown について読みました。この投稿に続いて、markdownにknitrを使用してローカル画像のサイズを設定する方法は? 私は次の行に沿って何かを書きました:
```{r,echo=FALSE,fig.width=100, fig.height=100}
# Generate word documents of reports
# Clear all
rm(list=ls())
library(png)
library(grid)
library(knitr)
dir<-"location\of\file"
setwd(dir)
# Output only directories:
folders<-dir()[file.info(dir())$isdir]
for(folder in folders){
currentDir<-paste(dir,folder,"\\",sep="")
setwd(currentDir)
#All files in current folder
files<-list.files()
imgs<-[A list of all the png images in this particular file that I want in the word document - the png names]
for(img in imgs){
imgRaster<-readPNG(img)
grid.raster(imgRaster)
}
}
```
以下は、結果として得られる Word 文書の内容のスクリーンショットです。どうすればこれを修正できますか? 上記の for ループが実行されるときに、画像がドキュメントに次々と表示されるようにします。
Markdown を使用したのはこれが初めてなので、コメントにリンクされている関連するチュートリアルも非常に役立つ可能性があることに注意してください。
EDIT 2 以下の2番目の回答の例に従いました。ここに私が得た出力があります
ご覧のとおり、画像はなく、html タグのみです。これを修正するにはどうすればよいですか?