У меня есть два графика, и я пытаюсь наложить один поверх другого:
Пример кадра данных "ge" выглядит следующим образом. На самом деле существует 10 генов с 200 образцами каждый, поэтому есть 2000 строк и 3 столбца:
Exp Gene Sample
903.0 1 1
1060.0 1 2
786.0 1 3
736.0 1 4
649.0 2 1
657.0 2 2
733.5 2 3
774.0 2 4
Пример кадра данных "avg" выглядит следующим образом. Это среднее значение точек данных для каждого гена во всех образцах. На самом деле этот граф имеет 10 генов, поэтому матрица имеет 4col X 10 строк:
mean Gene sd se
684.2034 1 102.7142 7.191435
723.2892 2 100.6102 7.044122
Первый граф отображает линию среднего выражения для каждого гена вместе со стандартным отклонением для каждой точки данных.
avggraph <- ggplot(avg, aes(x=Gene, y=mean)) + geom_point() +geom_line() + geom_errorbar(aes(ymin=mean-sd, ymax=mean+sd), width=.1)
Второй график отображает выражение гена в виде линии для каждого образца по всем генам.
linegraphs <- ggplot(ge, aes(x=Gene, y=Expression, group=Samples, colour="#000099")) + geom_line() + scale_x_discrete(limits=flevels.tge)
Я бы хотел наложить avggraph поверх строк. Есть ли способ сделать это? Я попробовал avggraph + linegraphs, но я получаю сообщение об ошибке. Я думаю, это связано с тем, что графики генерируются двумя различными кадрами данных.
Я также должен указать, что оси обоих графиков одинаковы. Оба графика имеют гены на оси X и выражение гена по оси Y.
Любая помощь будет принята с благодарностью!