0

我对 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))

我从这里去哪里?

4

3 回答 3

0

'An Introduction to R' 的附录 A有一个很好的演练教程,你可以在十分钟内完成;它教授有关线型等的其他内容

之后,这里也解释了几十次绘图密度;在上面的搜索框中搜索“[r] 密度”。还有R Graph Gallery(现在可能正在关闭)等等。

我经常推荐的一个不错的免费指南是 John Verzani 的simpleR,它非常强调图表,并会在这里教你你需要什么。

于 2013-06-04T01:14:20.137 回答
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())
于 2013-06-04T01:53:06.343 回答
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)

希望这可以帮助。

于 2015-05-09T23:29:58.677 回答