2

オブジェクトの長いリストがあり、xtsそれらを自動的にプロットしてフォルダーに保存したいと考えています (500 個を超えるプロットを手動で行うには長い時間がかかるため)。xts注意が必要なのは、オブジェクトのリストに関数を適用することです。たとえば、日付に基づいてリスト要素の一般化された命名方法を取得し (xtsリスト内の各オブジェクトは一意の日です)、各オブジェクトをプロットし、独自の名前でファイル パスに保存します。

データは、こちらの以前の投稿にあります。各xts要素はリスト内の一意の日であり、価格と出来高の列があります。最新の R (2.15) でパッケージ xts、TTR、および quantmod を使用しています。

r-bloggers に関するすばらしい投稿に基づいて、このコードでリスト要素に名前を付けてみました。

names(sample.data.uniquePOS) <- paste0("sample.data.uniquePOS", lapply(sample.data.uniquePOS, function(x) .indexday(sample.data.uniquePOS)))                                                    

これは、日のインデックスで名前を付けることになっています (たとえば、2012 年 1 月 1 日の場合、要素名として "2012-01-01" になります)。残念ながら、長さのリストを作成することはできませんsample.data.uniquePOSが、各要素の名前はsample.data.uniquePOSnumeric(0). .indexday問題は、オブジェクトに適用する必要があるときにリストに適用されていることだと思いますが、xtsそれを回避する方法がわかりません。

次のステップは、プロットを保存するファイル パスを作成し、プロットを実行することです。

mypath <- file.path("C:", "Documents and Settings", 
                              paste("Date_", names(sample.data.uniquePOS), ".jpg", sep = ""))

jpg(file=mypath)
mytitle = paste("my title is", names(sample.data.uniquePOS))
candleChart(sample.data.uniquePOS[[1]]:sample.data.uniquePOS[[length(sample.data.uniquePOS)]])
dev.off()
}

これには、リストではなくオブジェクトにcandleChart適用する必要があるという同じ問題があります。xts

Error in try.xts(x, error = "chartSeries requires an xtsible object") : 
  chartSeries requires an xtsible object

これについて何か助けていただければ幸いです。

4

0 に答える 0