我对R非常非常新,所以请原谅我问题的基本性质。简而言之,我已经做了很多谷歌搜索尝试回答这个问题,但我发现即使是基本指南,论坛上的简单讨论也比以前有更多的先验知识,特别是在概述所有的编码术语以及改变它们对绘图的意义。
简而言之,我有一个带有三列数据的标签格式表,我希望在单个图表上绘制密度。我希望这些线条是不同的图案(点缀,虚线等等,无论是什么都可以让它们分开,我不能使用颜色,因为我的主管是色盲)。
我的代码可以读入数据,并且可以访问我感兴趣的列:
mydata <- read.table("c:/Users/Demon/Desktop/Thesis/Fst_all_genome.txt", header=TRUE,
sep="\t")
fstdata <- data.frame(Fst_ceu_mkk =rnorm(10),
Fst_ceu_yri =rnorm(10),
Fst_mkk_yri =rnorm(10))
我从哪里开始?
答案 0 :(得分:0)
Appendix A of 'An Introduction to R'有一个很好的演练教程,你可以在十分钟内完成;它教授线型等等
在此之后,密谋的密谋在这里也被解释了几十次;在上面的搜索框中搜索例如'[r] density'。还有R Graph Gallery(可能现在下来)等等。
我经常推荐的一本很好的,免费的指南是John Verzani的simpleR,它强调了很多图表,并会教会你在这里需要什么。
答案 1 :(得分:0)
使用高级图形进行探索的两个选项。
# dummy data
d = data.frame(x = rnorm(10), y = rnorm(10), z = rnorm(10))
首先需要将数据从宽格式转换为长格式,
require(reshape2)
m = melt(d)
ggplot2图形
require(ggplot2)
ggplot(data = m, mapping = aes(x = value, linetype = variable)) +
geom_line(stat = "density")
格子图形
使用相同的melt()ed
数据,
require(lattice)
densityplot( ~ value, data = m, group = variable,
auto.key = TRUE, par.settings = col.whitebg())
答案 2 :(得分:0)
如果你需要一些非常简单的东西,你可以做到:
plot(density(mydata$col_1))
lines(density(mydata$col_2), lty = 2)
lines(density(mydata$col_2), lty = 3)
如果第二和第三密度曲线远离第一密度曲线,则需要明确定义绘图区域的xy限制:
dens1 <- density(mydata$col_1)
dens2 <- density(mydata$col_2)
dens3 <- density(mydata$col_3)
plot(dens1, xlim = range(dens1$x, dens2$x, dens3$x),
ylim = range(dens1$y, dens2$y, dens3$y))
lines(density(mydata$col_2), lty = 2)
lines(density(mydata$col_2), lty = 3)
希望这有帮助。