Сортировка оси фактора точечной диаграммы в ggplot - PullRequest
2 голосов
/ 14 сентября 2011

У меня есть data.frame с данными генной экспрессии, и я хочу создать граф в ggplot2.Вот пример для моего фрейма данных:

Gene.Name    cell.type    expression
ABC          heart        12
AZF          heart        13  
ABC          kidney       1
AZF          kidney       2

и далее.в действительности существует 160 генов, 5 типов тканей.
Я нарисовал точечный график со следующим кодом:

a <- ggplot(data, aes(x = expression, y = Gene.Name))
a + geom_point() + facet_grid(. ~ cell.type)

Вот снимок графика

http://i55.tinypic.com/2rgonjp.jpg

что я хочу сделать, но, похоже, не могу управлять, это упорядочить гены в алфавитном порядке.Я попытался:

a <- ggplot(data, aes(x = expression, reorder(Gene.Name, Gene.Name)))

, но это не сработало (столбец Gene.Name отсортирован по алфавиту, поэтому я подумал, что это может изменить порядок, но это не сработало)

Любые предложениякак мне изменить порядок имен генов?

Спасибо

1 Ответ

1 голос
/ 14 сентября 2011

Изменил имя на «dat», потому что «data» - плохая собака. Используйте rev, чтобы изменить порядок уровней в факторной переменной. В вашем коде отсутствовала закрывающая скобка в первой строке, а во второй - ошибка geom_point ():

dat$Gene.Name <- factor(dat$Gene.Name, levels= levels(rev(dat$Gene.Name))
a <- ggplot(dat, aes(x = expression, y = Gene.Name))
a + geom_point() + facet_grid(. ~ cell.type)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...