time / window / ts / seqselect中的start和end参数

时间:2013-09-11 14:37:48

标签: r bioconductor

我是r的新手,如果以矢量形式提供,我很难理解start和end参数的工作原理。 考虑一下代码:

x <- c(4,6,5,4,6,2,6,7,5,5)
seqselect(x, start=6, end=10)

返回带有位置6到10的整数的向量。 现在:

seqselect(x, start=c(6,1), end=c(10,5))

返回值6-10与1-5的值连接。为什么会这样?开始/结束中向量的第二个值是做什么的? 示例来自:IRanges Overview第2页

1 个答案:

答案 0 :(得分:1)

您误读了示例代码。它实际上说:

seqselect(x, start=c(6,1), end=c(10,5))
# ---------------------^ 1, not 2!

...当然,这正是函数所说的:它连接了几个子范围 - 在这种情况下,子范围[6,10]和[1,5]。

换句话说,seqselect需要多个N个起点和终点,并且对于每个i∈1... N个配对的起点和终点,它提取范围[start i ,结束 i ]。

seqselect参数无疑是有点奇怪(我甚至会说这个功能设计得很糟糕)。将此请求指定为

会更合乎逻辑
seqselect(x, (6, 10), (1, 5))

...即明确给出每个范围。