2017-02-23 168 views
0

我有一個包含2個colomns的數據集,第一個表示一個星期(從21-39開始),第二個表示在醫學測試中表示某個結果的數字。使用ts中的R轉換數據到時間序列

這是數據的外觀

head(s) 
Week ILI 
21 11 
22 14 
23 34 
24 56 
25 56 
21 67 
22 4 
23 45 

我想有這樣看的數據,所以我可以繪製它

21 22 23 24 25 

11 14 34 56 56 
67 4 45 72 23 

我用ts(s$ILI,start = 21,end = 25,frequency = 5) ,並得到一個所有的大矢量價值。

+1

在爲'zoo'這個快速參考看看,看看你能不能解決你的問題,然後:HTTPS:/ /cran.r-project.org/web/packages/zoo/vignettes/zoo-quickref.pdf – ulfelder

回答

1

該問題沒有描述所需的情節,所以我們在這裏假設我們要分別繪製兩組周。假設最後在Note中重複顯示輸入,我們添加一個group列來區分星期集合,將其拆分爲創建2列動物園對象,然後可選地將其轉換爲ts類。

DF2 <- transform(DF, group = ave(Week, Week, FUN = seq_along)) 

library(zoo) 
z <- read.zoo(DF2, index = "Week", split = "group") 
tt <- as.ts(z) 

現在,我們就可以繪製無論是"zoo"對象z"ts"對象tt

plot(z) 
plot(tt) 

注:輸入DF在重現的形式是:

Lines <- "Week ILI 
21 11 
22 14 
23 34 
24 56 
25 56 
21 67 
22 4 
23 45 
24 72 
25 23" 

DF <- read.table(text = Lines, header = TRUE)