将R转换为C语言 - 未知语法

时间:2015-06-20 22:36:02

标签: r

目前我正试图找出R中的一些东西,以便能够将其部分代码转移到我的C ++ / C#项目中。

举个例子,我在R:

中查看 diff 函数
> diff.Date

function (x, lag = 1L, differences = 1L, ...) 
{
    ismat <- is.matrix(x)
    xlen <- if (ismat) 
        dim(x)[1L]
    else length(x)
    if (length(lag) != 1L || length(differences) > 1L || lag < 
        1L || differences < 1L) 
        stop("'lag' and 'differences' must be integers >= 1")
    if (lag * differences >= xlen) 
        return(structure(numeric(), class = "difftime", units = "days"))
    r <- x
    i1 <- -seq_len(lag)
    if (ismat) 
        for (i in seq_len(differences)) r <- r[i1, , drop = FALSE] - 
            r[-nrow(r):-(nrow(r) - lag + 1L), , drop = FALSE]
    else 
        for (i in seq_len(differences)) 
            r <- r[i1] - r[-length(r):-(length(r) - lag + 1L)]
    r
}

问题

  • 减号在序列i1 <- -seq_len(lag)之前是什么意思?
  • ?diff说有时 diff 可能是递归的,递归在哪里?
  • i1 <- -seq_len(lag)应创建向量,如何将其用作索引r[i1]
  • 是否有一些软件包可以将选定的函数从R转换为C ++?

0 个答案:

没有答案