2016-04-28 22 views
0

私は時系列 - plot.ts()と複数のグラフ

cannot plot more than 10 series as "multiple" 

を持ってエラーに複数のスレッドを見てきましたが、どれも本当に説明しない(1)何が起こっているのと、(2)どのように回避しますそれはあなたが複数のグラフを持っている場合。

私は12種類のファイルを持っています。 各ファイルは〜240〜250データポイントの1行です。これは時系列データです。値の範囲はファイルごとに変わります。

グラフをすべて1つのプロットに作成したいと考えています。だからpar(mfrow =(4,3))のようなものです。

しかし、自分のコードを使用すると、上記のエラーが表示されます。

for(cand in cands) 
{ 
    par(mfrow=c(4,3)) 
    for(type in types) 
    { 
     ## Construct the file name 
     curFile = paste(folder, cand, base, type, close, sep="") 

     ## Read in the file 
     ts = read.delim(curFile, sep="\t", stringsAsFactors=FALSE, header=FALSE,  row.names=NULL,fill=TRUE, quote="", comment.char="") 
     plot.ts(ts) 
    } 
} 

答えて

2

まず、時系列オブジェクト "ts"を呼び出さないでください。それはあなたの犬を「犬」と呼ぶようなものです。 "ts"がシステムで使用され、これが混乱を招く可能性があります。

「ts」の構造を見て、ファイルを読んでください。あなたの説明から、ファイルは240列以上の単一行ですか?もしそうなら、それも問題になります。

read.delim()は、行指向ではなく、列指向のデータファイルを必要としています。この場合、転置する必要があります。次のようなもの:

my.ts = t(
      read.delim(curFile, sep="\t", stringsAsFactors=FALSE, 
        header=FALSE, row.names=NULL, 
        fill=TRUE, quote="", comment.char="") 
     ) 
my.ts = ts(my.ts) 
+0

Doh!それは本当にばかな瞬間だった。また、私はTSに同意する!それは私のコードをすばやく実行しようとしている私のほんの一瞬であり、実際の名前を文脈についてあまり心配することなく読みやすいものに短くしています。助けてくれてありがとう! – Jibril

+0

うれしかった!そして、私たちは皆、それらの "時"の瞬間を持っています。 :) – Jason

関連する問題