2016-04-28 48 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