我有一个巨大的"范围"数据,这个数据是GenomicRanges
格式,如果我把它转换为data.frame,举个例子:
file <- "seqnames start end width strand
chr1 2 5 4 *
chr2 3 7 5 *"
file<-read.table(text=file,header=T)
我想分解这个&#34;范围&#34;在这个例子的个别位置:
file2 <- "seqnames Position
chr1 2
chr1 3
chr1 4
chr1 5
chr2 3
chr2 4
chr2 5
chr2 6
chr2 7"
file2 <- read.table(text=file2,header=T)
我该怎么做?
答案 0 :(得分:1)
我们可以使用data.table
library(data.table)
setDT(file)[, .(position = start:end), by = seqnames]
# seqnames position
# 1: chr1 2
# 2: chr1 3
# 3: chr1 4
# 4: chr1 5
# 5: chr2 3
# 6: chr2 4
# 7: chr2 5
# 8: chr2 6
# 9: chr2 7