2011-07-07 145 views
0

我有一個如下所示的時間序列(csv文件)數據。每個觀察間隔爲2秒的間隔:繪製多個時間序列數據

Group,Id, Observations (illustration only--csv file dont have headers) 
A,21,2,3,4 
B,12,2,9 
C,13,3,5 
A,14,4,6,7,9,12,3,4,5,6 
B,15,3,5,2,1,3 
C,16,8,67 
A,27,98,78 
B,18,2,3,4,5,6,7,8,1,2,3,4,5 
C,19,2,3,4,5,6,6,4,3,3,2,3,4,4,5,6,66,6,4,3,232 

每行是一個單獨的時間序列數據。我試圖將這些時間序列數據w.r.t組(A,B,C)與一些圖(至少現在)進行比較和對比。

編輯: 我讀爲Import data into R with an unknown number of columns?建議的CSV文件,該文件會讀這個CSV作爲

 
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 
    A 21 2 3 4 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 
    B 12 2 9 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 
         --------------------------- 
    C 19 2 3 4 5 6 6 4 3 3 2 3 4 4 5 6 66 6 4 3 232 

我試着用ggplot繪製該數據由熔化的數據與

melt(data,c("X1","X2"))
這給我造成

 
    X1 X2 variable value 
1 A 21  X3  2 
2 B 12  X3  2 
3 C 13  X3  3 
4 A 14  X3  4 
5 B 15  X3  3 
6 C 16  X3  8 
7 A 27  X3 98 
8 B 18  X3  2 
9 C 19  X3  2 
10 A 21  X4  3 
11 B 12  X4  9 
12 C 13  X4  5 
13 A 14  X4  6 
14 B 15  X4  5 
15 C 16  X4 67 
---------------------- 

X3,X4,X5..X22是一段時間的觀察。 我想通過獨立繪製每個觀察結果(或者說爲每個觀察結果創建時間序列)來比較不同的數據組(A,B,C)。
我無法找出動物園包裝繪圖解決方案。我想知道如何爲這種類型的時間序列數據生成這樣的情節?

+0

看來,你比A具有對C組更多的數據點和B如何額外的數據點,線愛上其他兩組?第二B行與第一行相比如何?它們是否應該組合成一個連續的時間序列? '熔化(數據,......')的結果是什麼?你可以在讀入數據後提供'輸入(數據)'嗎? – Chase

+0

以上只是一個例子,不同的觀察組數不同,我不能合併作爲觀察的組(A,B或C)是獨立的,屬於不同的組和不同的ID,並且我有興趣分別觀察每個組的行爲 – iinception

+0

那麼這裏的列x2是什麼?這就像一個主題ID,所以你有多個A,B和C組內的主題?當您在評論中對下面的答案說「A組將對屬於A組的所有時間序列觀察值進行分組」時,您原始數據框的每一行都是您想要的單獨觀察值一行? – nzcoops

回答

2

試試這個:

Lines <- "A,21,2,3,4 
B,12,2,9 
C,13,3,5 
A,14,4,6,7,9,12,3,4,5,6 
B,15,3,5,2,1,3 
C,16,8,67 
A,27,98,78 
B,18,2,3,4,5,6,7,8,1,2,3,4,5 
C,19,2,3,4,5,6,6,4,3,3,2,3,4,4,5,6,66,6,4,3,232" 

library(zoo) 
k <- max(count.fields(textConnection(Lines), sep = ",")) 
DF <- read.table(textConnection(Lines), sep = ",", fill = TRUE, col.names = 1:k, 
    as.is = TRUE) 

# next line may not be needed but won't hurt 
DF[[1]] <- gsub(" ", "", DF[[1]]) 

z <- zooreg(t(DF[-1]), start = 0, deltat = 2) 

plot(z, screen = DF[[1]]) 
+0

感謝您的答案...這不是我正在尋找。基本上我想要三個不同的面板說小組A,小組B,小組C.小組A將所有屬於小組A的時間序列觀察歸入小組B,然後將小組B等所有時間序列觀察歸入小組B。我有興趣瞭解這些小組如何區分彼此。此外,上面的動物園腳本讀取這種csv文件(具有可變長度的列)不正確(第一列(這是組))被擾亂。) – iinception

+0

好吧,現在輸入部分已更正,並根據你澄清你想要什麼,以便它現在生產3個面板。 –

+0

謝謝..這就是我一直在尋找:) – iinception