2016-04-28 66 views
0

我見過的錯誤幾個線程plot.ts()和多個圖形我有時間序列 -

cannot plot more than 10 series as "multiple" 

但沒有真正解釋(1)這是怎麼回事,(2)如何解決它如果你有多個圖。

我有12個不同的文件。 每個文件是1行〜240-250個數據點。這是時間序列數據。值範圍從文件到文件變化。

我想製作一張圖表,將它們全部放在一張圖上。所以像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!那真是一個非常愚蠢的時刻。我也同意這個問題!那只是我試圖快速瀏覽我的代碼並將實際名稱縮短爲可讀內容而不必擔心太多內容的時刻。謝謝您的幫助! – Jibril

+0

很高興幫助!我們都有這些「doh」時刻。 :) – Jason