Подтвердить что ты не робот

Построение нескольких строк из фрейма данных с помощью ggplot2

Я пытаюсь построить несколько строк, используя ggplot2. Мои данные вставляются в кадр данных следующим образом:

> rs
  time           1           2           3           4
1  200 17230622635 17280401147 17296993985 17313586822
2  400 22328386154 22456712709 22499488227 22542263745
3  600 28958840968 29186097622 29261849840 29337602058
4  800 40251281810 40650094691 40783032318 40915969945
5 1000 73705771414 74612829244 74915181854 75217534464

Я хотел бы использовать столбец "время" в качестве значения x. Другими столбцами являются y значений точек в разных строках. В приведенных выше данных имеется 4 строки, каждая строка состоит из 5 пунктов. Более конкретно, первая линия имеет точки (200, 17230622635), (400, 22328386154), (600, 28958840968) и т.д. Вторая линия имеет точки (200, 17280401147), (400, 22456712709) и т.д. (Если вы необходимо дальнейшее объяснение формата данных, см. PS в конце.)

Чтобы сгенерировать похожие данные, вы можете использовать следующий код:

rs = data.frame(seq(200, 1000, by=200), runif(5), runif(5), runif(5))
names(rs)=c("time", 1:3)

Я выполнил несколько примеров и попытался использовать reshape2 и ggplot2, чтобы сделать этот график:

Сначала я расплавляю данные в "длинный формат":

library('reshape2')
library('ggplot2')
melted = melt(rs, id.vars="time")

Затем постройте данные, используя следующую запись:

ggplot() + geom_line(data=melted, aes(x="time", y="value", group="variable"))

Однако я получил пустой граф, который не имеет ни точки, ни строки.

Может ли кто-нибудь помочь мне увидеть, что не так с моей процедурой?

P.S.

О формате данных:

Вы можете себе представить, что в классе много учеников, и у нас есть множество десятков викторин. Каждая строка содержит данные одного ученика: первый столбец - номер викторины, а остальные столбцы - его оценки. Для каждого ученика мы хотим построить линию, чтобы отразить, как его/ее оценки меняются по различным опросм, каждая точка - это оценка одной викторины для определенных учеников. Поскольку существует несколько учеников, мы хотели бы нарисовать несколько строк.

О расплавленных данных:

Для данных, показанных выше, данные, полученные мной из функции melt(), следующие:

> melted
   time variable       value
1   200        1 17230622635
2   400        1 22328386154
3   600        1 28958840968
4   800        1 40251281810
5  1000        1 73705771414
6   200        2 17280401147
7   400        2 22456712709
8   600        2 29186097622
9   800        2 40650094691
10 1000        2 74612829244
11  200        3 17296993985
12  400        3 22499488227
13  600        3 29261849840
14  800        3 40783032318
15 1000        3 74915181854
16  200        4 17313586822
17  400        4 22542263745
18  600        4 29337602058
19  800        4 40915969945
20 1000        4 75217534464
4b9b3361

Ответ 1

Отбросьте кавычки:

ggplot(data=melted, aes(x=time, y=value, group=variable)) + geom_line()

см. эстетика ggplot

Ответ 2

Другой вариант - использовать aes_string.

P.S. Почему я не могу оставить это в качестве комментария? Является ли мой браузер или этот сайт неудобным?