Постройте линейный график ggplot, имеющий значение 2 отдельных столбцов в R

У меня есть следующий набор данных:

    mo  Deposit Withdrawl
1   01  430013.5    363620
2   02  399733.5    364426
3   03  782495.0    897652
4   04  349144.7    395913
5   05  470808.5    410153
6   06  568985.0    720753
7   07  676970.2    355392

Теперь я хочу построить линейный график, который будет показывать в зависимости от каждого месяца (ось X), как работают Депозит и Снятие, именно на графике будет Мо в качестве оси X, и ожидается, что 2 линии как Депозит и Снятие будут показывать линейный график, соединяющий туда точки с другим цветом в ggplot или qplot.

Пытался

ggplot(data=month.dep,
       aes(x=mo, y=y, colour=Deposit)) +
  geom_line()

Но это не сработает, так как моя цель другая, а мой цветовой тип не имеет двоичного значения.


person Abhishek Choudhary    schedule 30.10.2014    source источник


Ответы (1)


Сначала melt ваши данные в длинном формате, а затем нарисуйте их:

library(reshape2)   # For melt function

month.dep.m = melt(month.dep, id.var="mo")

ggplot(month.dep.m, aes(x=mo, y=value, colour=variable)) +
       geom_line()

Как правило, ggplot2 предпочитает данные в длинном формате. В этом случае Deposit и Withdrawal - это две категории денежных значений. Таким образом, мы используем melt, чтобы поместить эти две категории в один столбец с именем variable, который ggplot использует для эстетики цвета, в то время как денежные значения аналогичным образом помещаются в новый столбец value, каждое значение соответствует соответствующей категории в столбце variable.

person eipi10    schedule 30.10.2014