我有一个带有基因表达数据的data.frame,我想在ggplot2中创建一个图表。这是我的数据框的一个例子:
Gene.Name cell.type expression
ABC heart 12
AZF heart 13
ABC kidney 1
AZF kidney 2
。实际上有160个基因,5种组织类型 我用以下代码绘制了一个dotplot:
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列按字母顺序排序,所以我认为这可能会改变顺序,但事实并非如此)
关于如何更改基因名称顺序的任何建议?
由于
答案 0 :(得分:1)
将名称更改为“dat”,因为“数据”是一只坏狗。使用rev可以反转因子变量的级别顺序。你的代码在第一行中缺少一个结束的paren,在第二行中缺少拼写错误的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)