У меня есть данные, которые следующую форму:Группировка данных из кадра данных
first second data_col1 data_col2 data_col3
lu NA <number> <number> <number>
lu NA <number> <number> <number>
lu NA <number> <number> <number>
lu NA <number> <number> <number>
lu mult <number> <number> <number>
lu mult <number> <number> <number>
lu mult <number> <number> <number>
lu mult <number> <number> <number>
mult NA <number> <number> <number>
mult NA <number> <number> <number>
mult NA <number> <number> <number>
mult NA <number> <number> <number>
И так далее.
Я хочу сгруппировать эти данные с помощью первых двух столбцов и построить их отдельно.
Я пытаюсь сделать это:
comb <- unique(total.df[c(1,2)])
apply(comb, 1, function(x) {
d<-total.df[total.df$guess==FALSE &
total.df$second==x[2] &
total.df$first==x[1] &
total.df$tasks=='tasks_const',]
p = ggplot(d, aes(x=d$platform, y=d$time,
group=as.factor(d$sched),
colour=as.factor(d$sched))) +
geom_point() + geom_line()
ggsave(filename=sprintf("/tmp/a_%s_%s.png", x[1], x[2]))
})
Мой гребень выглядит следующим образом:
first second
1 mult <NA>
121 lu mult
241 lu <NA>
361 heat mult
481 heat lu
601 heat <NA>
721 cholesky mult
841 cholesky lu
961 cholesky heat
1081 cholesky <NA>
1201 pipeline mult
1321 pipeline lu
1441 pipeline heat
1561 pipeline cholesky
1681 pipeline <NA>
1801 gen mult
1921 gen lu
2041 gen heat
2161 gen cholesky
2281 gen pipeline
2401 gen <NA>
facet_wrap практически решает свою задачу, но я хочу каждое изображение, чтобы отделиться, чтобы иметь возможность видеть то, что на самом деле там. И с facet_wrap каждый из них слишком мал.
код с facet_wrap заключается в следующем:
ggplot(total.df, aes(x=total.df$platform, y=total.df$time,
group=as.factor(total.df$sched),
colour=as.factor(total.df$sched))) +
geom_point() + geom_line() + facet_wrap(first ~ second);
Вам не нужно указать 'total.df' в вашем вызове' AES() '. Первый аргумент 'ggplot' указывает кадр данных. Итак, 'aes (x = total.df $ platform, ...' можно упростить до 'aes (x = platform)' например. – davechilders