Построение нескольких временных рядов в ggplot - программирование
Подтвердить что ты не робот

Построение нескольких временных рядов в ggplot

У меня есть набор временных рядов, состоящий из 10 переменных.

Я хотел бы создать график временного ряда, где каждая переменная 10 будет отображаться в разных цветах со временем на одном графике. Значения должны быть на оси Y и датах на оси X.

Нажмите здесь для набора данных csv

Это (возможно, неправильный) код, который я использовал:

c.o<-read.csv(file="co.csv",head=TRUE)
ggplot(c.o, aes(Year, a, b, c, d, e,f))+geom_line()

и вот, как выглядит вывод из кода:

Может ли кто-нибудь указать мне в правильном направлении? Я не смог найти что-либо в предыдущих потоках.

РЕШЕНИЕ ПРОБЛЕМЫ, ПОСМОТРЕТЬ НИЖЕ.

Еще одна вещь, которую я хотел бы знать:

Можно ли добавить дополнительную строку к графику, который представляет среднее значение для всех переменных во времени, и иметь некоторое сглаживание ниже и выше этой строки для представления отдельных вариантов?

4b9b3361

Ответ 1

Если ваши данные называются df примерно так:

library(ggplot2)
library(reshape2)
meltdf <- melt(df,id="Year")
ggplot(meltdf,aes(x=Year,y=value,colour=variable,group=variable)) + geom_line()

enter image description here

Итак, в основном в моем коде, когда я использую aes() im, говорящий, что ось x Year, ось y value, а затем colour/grouping равна variable.

Функция melt() заключалась в том, чтобы получить ваши данные в формате ggplot2. Один большой столбец для Year и т.д., Который вы затем эффективно разделяете, когда вы говорите ему, чтобы построить отдельные строки для вашего variable.