【发布时间】:2019-12-16 23:16:57
【问题描述】:
我有两个数据框,每个都有两列 - 染色体名称和我想按时间顺序绘制的那个染色体的计数。但是,如果根本不计算某些染色体,我就会遇到问题。以下是我的数据的一个小样本:
df1$chrom
chr1 chr10 chr3 chr4 chr5
df1$count
1 2 1 4 5
和
df2$chrom
chr1 chr10 chr3 chr5
df2$count
1 4 3 1
为了按时间顺序排列,我使用因子
chrOrder <-c(paste0("chr",1:22),"chrX","chrY")
df1$chrom <- factor(df2_8$Chromosome, chrOrder, ordered=TRUE)
df1<- df1[do.call(order, df1[, c("chrom ", "count")]), ]
df1 给了我
df1$chrom
chr1 chr3 chr4 chr5 chr10
df1$count
1 1 4 5 2
它也适用于第二个数据帧。
但是为了有效地绘制它们,我需要第二个数据框包含一个 0 表示 4 号染色体,该数据未计入此数据。
df2$chrom
chr1 chr3 chr4 chr5 chr10
df2$count
1 3 0 1 4
我尝试使用因子添加 NA,然后将其替换为 0,使用 addNA,但它不起作用。有人可以帮我吗?谢谢你。
我的问题类似于sort by chromosome name,但我不确定如何解决问题的具体部分。
【问题讨论】: