1
グラフをプロットするためのRコード(バックエンド)を実行し、VBA(ここではフロントエンド)を使ってpdfとしてエクスポートしたいと考えています。PDFファイルを実行してVBAで.Rを実行する
Sub plotHello()
Dim shell As Object
Set shell = CreateObject("WScript.Shell")
Dim waitTillComplete As Boolean: waitTillComplete = True
Dim style As Integer: style = 1
Dim errorCode As Integer
Dim path As String
path = """C:\Produits\R\R-3.2.5\bin\R.exe"" CMD BATCH --no-environ --silent --no-restore --no-save C:\R_code\hello.R"
shell.Run (path)
End Sub
事がある:それはhello.Rファイルで動作します:
sink('C:/R_code/hello.txt',append=F,type="output")
cat('Hello World')
sink(NULL)
しかし、グラフィック出力をエクスポートすることはできません)(シンク、I
私が使用するVBAコードは以下のとおりです。
Library(ggplot2)
x=c(1,2,3,4,5,6)
y=c(45,78,35,213,65,456)
XY=data.frame(x,y)
g<-ggplot(data=XY,aes(x=x,y=y))+geom_line(data=XY,aes(x=x,y=y))
pdf('C:/R_code/hello.pdf')
g
dev.off()
:その後、私は正しい構文があると思いPDF()関数
を使用する必要があります
Butitは動作しません。例えばjpeg()関数の場合... しかし、RStudioでコードを実行すると問題はVBAとpdfの間のリンクであるようです関数... 誰かが解決策を持っている場合、 多くの感謝
はたぶん'プリント(g)を試す 'ではなく:1がgrid.arrangeを使用したい場合は もう一つの発言は、この変換は、二つのコマンドのPDFの表示()とdev.off
元の間で持っていますRスクリプトの最後から2番目の行に「g」を追加します。また、あなたが提供したスクリプトは 'ggplot2'をロードしないので、' library(ggplot2) 'を先頭にしてください。 – lmo
ありがとうございますが、うまくいきません。 コードはRで動作していますが、VBAとRの間のリンクはtxtをsink()でエクスポートするのに適していますが、VBAから呼び出すときはそうではありません。 –