我的数据看起来像
junc old new
X:65961303-65965481(+) 0.025672937 0.004911527
3:90310183-90313113(-) 0.098444488 0.002132802
6:51414210-51415178(-) 3.05E-05 4.37E-06
10:79322700-79323569(+) 0.33095695 0.302002001
4:122972516-122973173(+) 0.939167683 0.932705233
4:53030079-53033983(+) 0.000233548 0.00081976
13:56185646-56189613(-) 4.85E-10 9.43E-09
13:56189703-56197485(-) 4.82E-07 6.96E-09
11:98577839-98579023(-) 0.001854774 0.000894136
10:90615925-90621493(-) 0.000902529 2.84E-05
10:19614164-19624369(-) 4.38E-08 1.26E-06
我想绘制一个点图,其中我的x轴是junc而y轴是值,每个junc理想情况下有两个点(新旧)
到目前为止我尝试过:
library(ggplot2)
library(reshape2)
dat <- read.delim('~/plot.txt', sep = '\t', header = F)
head(dat)
colnames(dat) = c('junc', 'old', 'new')
head(dat)
mdat <- melt(dat)
head(mdat)
p = ggplot(mdat, aes(x=mdat$junction, fill=mdat$variable)) + geom_dotplot(binpositions="all")
p
如何调整比例并更改图表,以便我可以看到差异是每个junc的旧值和新值。
编辑:
> head(mdat)
junc variable value
1 X:65961303-65965481(+) old 2.567294e-02
2 3:90310183-90313113(-) old 9.844449e-02
3 6:51414210-51415178(-) old 3.048876e-05
4 10:79322700-79323569(+) old 3.309569e-01
5 4:122972516-122973173(+) old 9.391677e-01
6 4:53030079-53033983(+) old 2.335478e-04
>
>head(mlt)
junc variable value
1 X:65961303-65965481(+) variable old
2 3:90310183-90313113(-) variable old
3 6:51414210-51415178(-) variable old
4 10:79322700-79323569(+) variable old
5 4:122972516-122973173(+) variable old
6 4:53030079-53033983(+) variable old
答案 0 :(得分:1)
在melt
指定id.vars = "junc"
:
mdat = melt(dat, id.vars = "junc")
ggplot(data = mdat, aes(x = junc, y = value, color = variable)) +
geom_point(position = position_dodge(width = 0.2))