【发布时间】:2013-08-30 16:04:16
【问题描述】:
我有一些非常大的文件,其中包含基因组位置(位置)和相应的群体遗传统计数据(值)。我已经成功绘制了这些值,并希望对前 5%(蓝色)和 1%(红色)的值进行颜色编码。我想知道在 R 中是否有一种简单的方法可以做到这一点。
我已经探索过编写一个定义分位数的函数,但是,其中许多最终都不是唯一的,因此会导致函数失败。我也研究了 stat_quantile 但只成功地使用它来绘制一条标记 95% 和 99% 的线(有些线是对角线,对我来说没有任何意义。)(对不起,我是新手R.)
任何帮助将不胜感激。
这是我的代码:(文件很大)
########Combine data from multiple files
fst <- rbind(data.frame(key="a1-a3", position=a1.3$V2, value=a1.3$V3), data.frame(key="a1-a2", position=a1.2$V2, value=a1.2$V3), data.frame(key="a2-a3", position=a2.3$V2, value=a2.3$V3), data.frame(key="b1-b2", position=b1.2$V2, value=b1.2$V3), data.frame(key="c1-c2", position=c1.2$V2, value=c1.2$V3))
########the plot
theme_set(theme_bw(base_size = 16))
p1 <- ggplot(fst, aes(x=position, y=value)) +
geom_point() +
facet_wrap(~key) +
ylab("Fst") +
xlab("Genomic Position (Mb)") +
scale_x_continuous(breaks=c(1e+06, 2e+06, 3e+06, 4e+06), labels=c("1", "2", "3", "4")) +
scale_y_continuous(limits=c(0,1)) +
theme(plot.background = element_blank(),
panel.background = element_blank(),
panel.border = element_blank(),
legend.position="none",
legend.title = element_blank()
)
p1
【问题讨论】:
-
您会发现,如果您提供可使用的数据,您会获得更快、更好的响应。显示您如何获得
fst并没有帮助,因为我们没有您的任何起始数据。您可以使用dput()发布您自己的一些数据,或者制作一个最小的虚拟集。 -
接受您问题的答案是不行的,然后决定在一个月后更改问题,不接受答案并修改您的问题 - 这完全违背了存档问答格式的目的。如果您有新问题,请发布新问题!最好的办法是撤消您的编辑,重新接受答案,然后发布您的新问题。
-
对不起亚历克斯万!我是这种问答格式的新手,我认为如果它有一个可接受的答案,就不会看到编辑。我没想过把它作为一个新问题发布。
标签: r ggplot2 facet percentile color-codes