如何在R中绘制拷贝数变化曲线?

如何在R中绘制拷贝数变化曲线?,r,dataframe,ggplot2,facet,facet-wrap,R,Dataframe,Ggplot2,Facet,Facet Wrap,我试图在R中绘制一个拷贝数变化曲线图。这是我正在寻找的,但是我的数据中有所有的单元格 倍性在Y轴上,染色体数目在X轴上 这是我的数据,这是我到目前为止尝试过的,但它没有给我我想要的 input <- data.frame(chrom = sample("chr1"),start = sample(c(780000, 2920000, 4920000)), stop=sample(c(2920000, 4920000, 692000)), cell0=sample(1), cell1=sa

我试图在R中绘制一个拷贝数变化曲线图。这是我正在寻找的,但是我的数据中有所有的单元格

倍性在Y轴上,染色体数目在X轴上

这是我的数据,这是我到目前为止尝试过的,但它没有给我我想要的

input <- data.frame(chrom = sample("chr1"),start = sample(c(780000, 2920000, 4920000)), stop=sample(c(2920000, 4920000, 692000)), cell0=sample(1), cell1=sample(1,3,1),cell2=sample(2,1,2)
这里有一个指向整个文件的链接

当我运行答案中的代码时,这就是我得到的结果。我希望所有的染色体都能像上面的图一样是水平的


我们可以使用
facet\u wrap
将每个
chrom
并排放置。我使用了一堆格式化变量使绘图看起来像上面显示的那样。我还用两个
chrom
制作了自己的数据,以便更好地进行说明。看看下面

read.table(text=“色度开始停止单元0单元1单元2
chr1 780000 2920000 2
chr1 2920000 4920000 1 2 3
chr1 4920000 6920000 2 3 2
chr2 480000 1920000 1 2 3
chr2 1920000 2920000 2
chr2 2920000 3920000 1 3“,标题=T)->输入
库(ggplot2)
图书馆(tidyr)
输入%>%
枢轴长度(c(启动、停止))%>%
ggplot(,aes(x=值,y=作为因子(单元格0),组=1L))+
几何点(颜色=“灰色”)+
小平面包裹(~chrom,strip.position=“bottom”,scales=“free_x”)+
几何图形线(颜色=“#00AFBB”,尺寸=1)+
主题_bw()+
主题(panel.spacing.x=单位(0,“线”),
面板间距y=单位(0,“线”),
axis.title.x=元素_blank(),
axis.text.x=元素_blank(),
axis.ticks.x=元素_blank(),
strip.background=元素(color=“black”,fill=“white”))+
比例x连续(展开=c(.01,0))+
比例y离散(“倍性”,扩展=c(.3.3))+
ggtitle(“细胞_596,2Mb再着色,平均倍性3.04”)

整个数据的更新解决方案 我添加了另一个列来说明这如何适用于两个
cell
列。然而,这将是非常拥挤的情节

#输入%
突变(单元1=单元0+
sample.int(1417,replace=T)*样本(c(-1,1),1417,replace=T))%>%
pivot_更长(c(开始、停止),名称_to=“步骤”,值_to=“时间”)%>%
轴心长度(c(单元格0,单元格1),名称到“单元格”,值到“倍性”)%>%
ggplot(数据=,aes(x=时间,y=因子(倍性),组=细胞))+
几何点(aes(颜色=单元))+
镶嵌面包裹(~chrom,strip.position=“bottom”,scales=“free_x”,nrow=1)+
几何线(aes(颜色=单元格),尺寸=1,α=0.5)+
主题_bw()+
比例x连续(展开=c(.01,0))+
比例y离散(“倍性”,扩展=c(.1.1))+
主题(panel.spacing.x=单位(0,“线”),
面板间距y=单位(0,“线”),
axis.title.x=元素_blank(),
axis.text.x=元素_blank(),
axis.ticks.x=元素_blank(),
strip.background=元素(color=“black”,fill=“white”),
panel.grid.major=元素_blank(),
panel.grid.minor=元素_blank(),
panel.background=元素_blank(),
轴线=元素线(颜色=“黑色”),
plot.title=元素\文本(hjust=0.5))+
ggtitle(“细胞_596,2Mb再着色,平均倍性3.04”)

最后更新:
库(ggplot2)
图书馆(tidyr)
图书馆(dplyr)
图书馆(stringr)
输入%>%
pivot_更长(c(开始、停止),名称_to=“步骤”,值_to=“时间”)%>%
突变(色度=因子(色度,级别=str_排序(唯一(色度),数值=T))%>%
ggplot(数据=,aes(x=时间,y=作为系数(单元格0),组=1L))+
几何点(颜色=“灰色”,尺寸=0.5)+
几何图形线(颜色=“#00AFBB”,尺寸=1,α=0.5)+
面_包裹(~as.因数(色度),
strip.position=“bottom”,scales=“free_x”,nrow=1)+
主题_bw()+
比例x连续(展开=c(.01,0))+
比例y离散(“倍性”,扩展=c(.1.1))+
主题(panel.spacing.x=单位(0,“线”),panel.spacing.y=单位(0,“线”),
axis.title.x=元素_blank(),
axis.text.x=元素_blank(),
axis.ticks.x=元素_blank(),
strip.background=元素(color=“black”,fill=“white”),
panel.grid.major=元素_blank(),
panel.grid.minor=元素_blank(),
panel.background=元素_blank(),
轴线=元素线(颜色=“黑色”),
plot.title=元素\文本(hjust=0.5))+
ggtitle(“细胞_596,2Mb再着色,平均倍性3.04”)


由(v0.3.0)于2019-12-10创建。

欢迎使用堆栈溢出!你应该提供一份报告。请勿复制/粘贴您的数据或将其作为图片插入。谢谢!有没有办法将单元格0、单元格1和单元格2全部绘制在同一个绘图中?当我在整个文件中运行该代码时,它会将不同的染色体(我有24条)堆叠在一起。我怎样才能确保它们都是水平排列的呢?谢谢!我将如何更改您刚才添加的代码,使其成为单元格0?