【问题标题】:The start and end parameter in time/window/ts/seqselecttime/window/ts/seqselect中的start和end参数
【发布时间】:2013-09-11 22:50:47
【问题描述】:

我是 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 的值连接。为什么呢? start/end 中向量的第二个值有什么作用? 示例来自:IRanges Overview 第 2 页

【问题讨论】:

    标签: r bioconductor


    【解决方案1】:

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

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

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

    换句话说,seqselect 需要 N 个起点和终点,对于 i ∈ 1…N 配对起点和终点中的每一个,它提取范围 [starti,结束i]。

    seqselect 参数确实有点奇怪(我什至会说这个函数设计得很糟糕)。将此请求指定为更合乎逻辑

    seqselect(x, (6, 10), (1, 5))
    

    …即明确给出每个范围。

    【讨论】:

    • 确实是一个错字。无论如何,我仍然无法弄清楚第二个值的意义。
    • @Szymonides 查看更新。该功能有些糟糕(Bioconductor 库并不以其精心设计的界面而闻名),但仍然可以说是不言自明的。
    • 就是这样!非常感谢!
    猜你喜欢
    • 2018-03-29
    • 2020-05-23
    • 2019-09-07
    • 2021-07-04
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-29
    相关资源
    最近更新 更多