我有以下数据框df
:
chrom value Astart Aend Bstart Bend
chr1 0 0 54519752 17408 17431
chr1 0 0 54519752 17368 17391
chr1 0 0 54519752 567761 567783
chr1 0 0 54519752 1231524 1231545
chr1 0 0 54519752 1231489 1231509
chr1 0 0 54519752 1247918 1247941
以下代码应该为每行提供Bstart和Bend-1之间的序列,
s <- unlist(apply(df, MARGIN=1, FUN=function(x) seq(x[5], as.numeric(x[6])-1)))
似乎正确,但我不理解输出:
> head(s,28)
11 12 13 14 15 16 17 18 19 110 111 112 113 114
17408 17409 17410 17411 17412 17413 17414 17415 17416 17417 17418 17419 17420 17421
115 116 117 118 119 120 121 122 123 21 22 23 24 25
17422 17423 17424 17425 17426 17427 17428 17429 17430 17368 17369 17370 17371 17372
这是一个数据帧吗?整数列表?上线是什么意思,它来自哪里?它为什么从11开始?为什么它从19跳到110然后又回到21?这对我没有意义......
答案 0 :(得分:1)
使用mapply
:
unlist(mapply(seq, df$Bstart, df$Bend - 1))