2016-04-25 7 views
0

株価チャートをループして、PDFファイルなどのレポートにコピーしてレポートを保存するにはどうすればよいですか?以下のスクリプトは一連のティッカーをループしますが、前の各グラフを次のグラフで上書きします。私は前のチャートの下の次のチャートをリストし、PDFまたはWord文書のすべてをリストします。Loop Through Stock Tickers and Creat全チャートのリスト

library(quantmod) 
stocks <- c("FIS", "AXP", "AVB") 
stockEnv <- new.env() 
symbols <- getSymbols(stocks, src='yahoo', env=stockEnv) 
for (stock in ls(stockEnv)){ 
    chartSeries(stockEnv[[stock]], theme="white", name=stock, 
     TA="addVo();addBBands();addCCI();addSMA(20, col='blue'); 
     addSMA(5, col='red');addSMA(50, col='black')", subset='last 30 days')  
} 

答えて

3

PDF()関数を呼び出すとdev.offを使用して、すべてのチャートを作成した後にプロットするデバイスをオフにするには、()私の仕事:

library(quantmod) 
stocks <- c("FIS", "AXP", "AVB") 
stockEnv <- new.env() 
symbols <- getSymbols(stocks, src='yahoo', env=stockEnv) 

pdf('test.pdf') 
for (stock in ls(stockEnv)){ 
    chartSeries(stockEnv[[stock]], theme="white", name=stock, 
       TA="addVo();addBBands();addCCI();addSMA(20, col='blue'); 
     addSMA(5, col='red');addSMA(50, col='black')", subset='last 30 days')  
} 
dev.off() 

コードは私の作業ディレクトリ内のPDF文書を作成したことtest.pdfと呼ばれます。 3つのプロットがあり、1ページに1つのプロットがありました。

+0

それは動作します!私はこの線がループ内に入ると思った... pdf( 'test.pdf') 私はあなたが開いて、PDFにフォーカスを設定し、Rがアクティブなファイルに書き込むと思う。それはどういう仕組みですか? – ryguy7272

+1

助けてくれてうれしい!それは私がそれを理解する方法です。 pdf()呼び出しは基本的にRに、後続の各プロットをプロットウィンドウから目的のpdfファイルに出力するように指示します。デバイスがdev.off()経由でオフになると、Rはもはやpdfにプロットを送信しなくなります。だからあなたはpdf()を呼び出して、そのpdfに送られたすべてのプロットを生成してから、デバイスをオフにします。これはjpeg()とpng()と同じです。またグラフがピクセル化されている場合は、カイロパッケージのCairoPDF()を調べてください。 – AOGSTA