簡體   English   中英

使用R在單個圖中缺少值的多個時間序列數據

[英]Multiple time-series data with missing values in a single plot using R

我准備了一個按照日期和時間排序的數據框,如POSIXlt:

             Date_Time A1    B2 C1    E2
46 24/06/2012 12:20:00 NA 5.515 20    NA
47 24/06/2012 13:20:00 41    NA NA 3.519
48 25/06/2012 14:00:00 NA    NA NA    NA
49 25/06/2012 14:20:00 30    NA 30    NA
50 27/06/2012 15:20:00 NA    71 NA    NA
51 28/06/2012 18:00:00 11    NA 55    11
... ...

如您所見,它包含很多“ NA”值。 是否可以在單個繪圖中繪制所有數據,並在“ x軸”上顯示月份年份,並為不同的數據分配不同的顏色(例如,A1為綠色,C1為藍色)? 我嘗試了“ ggplot2”軟件包,該軟件包刪除了所有缺失的值。 嘗試使用“ zoo”程序包不允許將x軸繪制為月-年。 有什么建議嗎?

對於任何R的繪圖軟件包來說,這都不成問題。 我不是ggplot用戶,但這是一個使用數據稍有修改版本的基本R示例。 請注意,使用as.POSIXct優選使用as.POSIXltdata.frame對象:

dat <- read.csv(text="Date_Time,A1,B2,C1,E2
24/06/2012 12:20:00,NA,5.515,20,NA
24/06/2012 13:20:00,41,NA,NA,3.519
25/06/2012 14:00:00,NA,NA,NA,NA
25/07/2012 14:20:00,30,NA,30,NA
27/08/2012 15:20:00,NA,71,NA,NA
28/09/2012 18:00:00,11,NA,55,11")

dat$Date_Time <- as.POSIXct(dat$Date_Time,format="%d/%m/%Y %H:%M:%S")

matplot(
  dat[,1],
  dat[2:5],
  type="o",
  pch=19,
  col=c("green","red","blue","black"),
  xaxt="n",
  xlab="Year-Month",
  ylab="Value"
)

添加具有選定格式的POSIXct表示的軸:

axis.POSIXct(side=1,x=dat$Date_Time,format="%Y-%m")

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM