簡體   English   中英

在R中繪制多元時間序列數據

[英]Plotting multivariate time-series data in R

我的數據如下所示:

> head(Full.df)
        Date      Month       Week       Year Count.S Count.G Count.W Count.F
1 2006-01-02 2006-01-01 2006-01-02 2006-01-01       0       7       9       6
2 2006-01-03 2006-01-01 2006-01-02 2006-01-01       0      13      12       4
3 2006-01-04 2006-01-01 2006-01-02 2006-01-01       0      13      15       4
4 2006-01-05 2006-01-01 2006-01-02 2006-01-01       0      20       6       3
5 2006-01-06 2006-01-01 2006-01-02 2006-01-01       0      19      19       4
6 2006-01-07 2006-01-01 2006-01-02 2006-01-01       0       4      16       5

對於單個變量,我使用了下一行代碼:

ggplot(data = Full.df, aes(Month, Count.S)) + stat_summary(fun.y = sum, geom ="line") + scale_x_date(
labels = date_format("%m-%y"),
breaks = "3 months")

我想將Count.SCount.GCount.WCount.F為同一平面上的四條線,但是我無法弄清楚如何在ggplot繪制所有四個變量(或其他用於ggplot程序包)物)。 謝謝。

編輯:雖然提供給另一個問題的鏈接非常有用,但是那里的答案說明了如何在一個圖像中繪制不同的圖形。 但是,我想知道如何在單個XY軸上繪制與各種變量相對應的線。

有兩種方法:

如果樣本數據創建如下:

Full.df <- data.frame(Date = as.Date("2006-01-01") + as.difftime(0:364, units = "days"))
Full.df$Month <- as.Date(format(Full.df$Date, "%Y-%m-01"))
Full.df[paste0("Count.", c("S", "G", "W", "F"))] <-
  matrix(sample(100, 365 * 4, replace = TRUE), ncol = 4)

使用reshape2軟件包的最佳方法:

molten <- melt(Full.df, id.vars = c("Date", "Month"),
  variable.name = "Category", value.name = "Count")
ggplot(data = molten, aes(x = Month, y = Count, colour = Category)) +
  stat_summary(fun.y = sum, geom ="line") +
  scale_x_date(labels = date_format("%m-%y"), breaks = "3 months")

使用多個幾何圖形但沒有圖例的替代方法:

ggplot(Full.df, aes(x = Month)) +
  stat_summary(aes(y = Count.S), colour = "blue", fun.y = sum, geom = "line") +
  stat_summary(aes(y = Count.G), colour = "red", fun.y = sum, geom = "line") +
  stat_summary(aes(y = Count.W), colour = "green", fun.y = sum, geom = "line") +
  stat_summary(aes(y = Count.F), colour = "orange", fun.y = sum, geom = "line") +
  scale_x_date(labels = date_format("%m-%y"), breaks = "3 months")

暫無
暫無

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

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