我有一个如下所示的时间序列(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
我试图通过使用
melt(data,c("X1","X2"))融合数据来使用ggplot绘制此数据,这样可以得到结果
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 :(得分: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]])