R:多点时间序列数据的散点图,ggplot?,重塑?

我有以下格式的数据。 列V1是感兴趣的基因组位置,列V4和V5是在两个不同时间点的次要等位基因频率。 我想用时间点1到时间点2(绘制在y轴上)的每个特定位置的连接等位基因频率的线作一个简单的xy散点图。 (请注意,我实际上有数百到数千个数据点)。

   V1    V2      V3          V4          V5
1 153 1/113   1/115 0.008849558 0.008695652
2 390 0/176 150/152 0.000000000 0.986842105
3 445 1/149   1/152 0.006711409 0.006578947
4 507 0/154 144/146 0.000000000 0.986301370
5 619 1/103  99/101 0.009708738 0.980198020
6 649 0/138 120/123 0.000000000 0.975609756

我觉得我应该可以用ggplot来完成这项工作,但我不知道该怎么做,因为我不知道如何为每个基因组位置指定两个y值,也没有指定一个列作为一个类别。 我怀疑数据需要重新设计。 任何帮助或建议,非常感谢!


更新:

感谢所有给我建议的人。 我不认为我很清楚要将时间点作为我的x轴而不是基因组的立场 - 我的歉意。 希望这张照片能够说明这一点!

我已经成功生成了我希望用以下代码创作的情节:

ggplot(dat)+ geom_segment(aes(x =“timepoint 1”,y = V4,xend =“timepoint2”,yend = V5))

这就是情节看起来像更多的数据点...

allelefreqtrajectories

我还没有改变轴标题,并利用边距进行游戏,但这是一般的想法!


如果您的示例数据在DF ,那么

ggplot(DF) +
  geom_segment(aes(x=V4, y="timepoint 1", xend=V5, yend="timepoint 2"))


这个问题并不完全清楚,但我认为这就是你所追求的:

ggplot(d, aes(x=V1, y=V4, ymin=V4, ymax=V5)) 
  + geom_linerange() 
  + xlab('Genomic location') 
  + ylab('Minor allele frequency')

文档:http://docs.ggplot2.org/current/geom_linerange.html

在这里输入图像描述


with(dat, plot(x=V1, y=V5, ylim=c(0,1) ,type='n',
      xaxt="n", ylab="Allele Frequency", xlab="Genomic Location"))
with(dat, axis(1, V1,V1, cex.axis=0.7)   )
with( dat, arrows(x0=V1,x1=V1+10, y0=V4, y1=V5) )

您可以清理标签并调整颜色和箭头功能:

?arrows

在这里输入图像描述

链接地址: http://www.djcxy.com/p/86147.html

上一篇: R: Scatter plot of time series data for multiple points, ggplot?, reshape?

下一篇: bar axis limits