построение многомерного временного ряда ежедневно в ggplot2 - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть данные временного ряда с несколькими переменными, измеренными в разных единицах. это ежедневные данные. Данные как ниже. (Пример данных)

structure(list(date = structure(18324:18329, class = "Date"), 
 x = c(-1805605.65336663, -217934.802608961, -1032002.23625031, 234816.624919304, 1321982.20108174, 104251.623282941), y = c(0.633729348424822, 0.244916933588684, 0.873351667076349, 0.552934182109311, 0.348864572821185, 0.197756679030135), z = c(3L, 5L, 5L, 6L, 5L, 6L)), class = "data.frame", row.names = c(NA, -6L
))

Предположим, что X измеряется в миллиардных рупиях, Y - это отношение от 0 до 1, а Z - это переменная счета. Я хочу отобразить все эти переменные за период времени на нескольких графиках (желательно используя facet_wrap)

1 Ответ

0 голосов
/ 22 апреля 2020

Вы можете использовать следующий код

library(tidyverse)
library(lubridate)
df %>% 
  dplyr::mutate(date = ymd(date)) %>% 
  gather(key = "key", value = "value",-date) %>% 
  ggplot(aes(x=date, y=value)) + geom_line() + facet_wrap("key", scales = "free")

enter image description here

Обновление

df %>% 
  dplyr::mutate(date = ymd(date)) %>% 
  gather(key = "key", value = "value",-date) %>% 
  ggplot(aes(x=date, y=value)) + geom_line() + theme_bw() + 
  facet_wrap(~key, scales = "free_y", ncol = 1, 
             strip.position = "left", 
             labeller=as_labeller(c(x = "Rs Billion", y = "Ratio", z = "Count variable (n)")))  +
  ylab(NULL) +xlab("Date")+
  theme(strip.background = element_blank(),
        strip.placement = "outside")

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...