精华内容
下载资源
问答
  • 如何在R中查看函数源代码

    万次阅读 2018-08-02 21:47:06
    1、简单的函数(非类函数),直接在R里面输入函数名就可以查看源代码,例如: > replace function (x, list, values)  {  x[list] <- values  x } 2、对于类函数,直接输入函数名不能显示出...

    1、简单的函数(非类函数),直接在R里面输入函数名就可以查看源代码,例如:

    > replace

    function (x, list, values) 

    {

        x[list] <- values

        x

    }

    2、对于类函数,直接输入函数名不能显示出源代码,例如:

    > summary

    function (object, ...) 

    UseMethod("summary")

    这时候需要用到methods()函数,用法methods(FunctionName)如下:

    > methods(summary)

     [1] summary.aov             summary.aovlist         summary.aspell*        

     [4] summary.connection      summary.data.frame      summary.Date           

     [7] summary.default         summary.ecdf*           summary.factor         

    [10] summary.glm             summary.infl            summary.lm             

    [13] summary.loess*          summary.manova          summary.matrix         

    [16] summary.mlm             summary.nls*            summary.packageStatus* 

    [19] summary.PDF_Dictionary* summary.PDF_Stream*     summary.POSIXct        

    [22] summary.POSIXlt         summary.ppr*            summary.prcomp*        

    [25] summary.princomp*       summary.srcfile         summary.srcref         

    [28] summary.stepfun         summary.stl*            summary.table          

    [31] summary.tukeysmooth*   

     

       Non-visible functions are asterisked 加星号标注的是不可见的方法,也就是说使用summary.prcomp是不能看到源代码的。

    找到这个类函数里面你所关注的函数,输入函数名,回车,就可以查看代码了,如:

    > summary.aovlist

    function (object, ...) 

    {

        if (!is.null(attr(object, "weights"))) 

            cat("Note: The results below are on the weighted scale\n")

        dots <- list(...)

        strata <- names(object)

        if (strata[1L] == "(Intercept)") {

            strata <- strata[-1L]

            object <- object[-1L]

        }

        x <- vector(length = length(strata), mode = "list")

        names(x) <- paste("Error:", strata)

        for (i in seq_along(strata)) x[[i]] <- do.call("summary", 

            c(list(object = object[[i]]), dots))

        class(x) <- "summary.aovlist"

        x

    }

     

     

    对于非类函数使用methods会报出错误:

    > methods("sample")

    [1] sample.int

    Warning message:

    In methods("sample") : function 'sample' appears not to be generic

    对于具体的函数,要搞懂它,可能看这些信息还不够,需要下载*.tar.gz,查看里面的源代码。这时候linux下的find命令就非常有用,具体可以问问谷哥和度娘。

     

    3. The getAnywhere function is helpful when you don't know in which namespace is a function.

    首先,一个扩展包中定义的函数有区分公开和不公开的,会在扩展包根目录下的NAMESPACE文件中定义是否Export,如果一个函数没有Export,则为不公开的函数,只能在包内部调用。

    lattice::qq是一个Generic Function,就像是plot,summary等函数,是由对象的class来确定实际执行的函数(例如对于data frame,执行summary时会执行summary.data.frame,对于lm会执行summary.lm等等,都不是则会执行summary.default)这是R S3 面向对象系统的设计。因此看到qq源代码时只能看到 UseMethod("qq"),还要看到哪些class实现了qq方法,而lattice并没有把这些实现给Export

     

    4. 直接上CRAN 下载源代码包。对于加星号标注的是不可见的方法

    流程如下:

    1)       登入R主页 http://www.r-project.org/ ,点击 Download 下的CRAN

    2)       选择一个镜像

    3)       里面的Source Code for all Platforms就可以下载各种源码了,下面以下载程序包源码包为例,点packages

    4)       选择sorted的方式,推荐by name

    5)       找到你感兴趣的包,比如abind,点进去就可以看见Package source这一项,用tar.gz封装的,download就可以了,解压后就能看见源码了。

    展开全文
  • R语言查看函数源代码source code

    千次阅读 2019-12-31 10:47:53
    function是有多个语句组成,完成一个特定的任务...我们如何查看一个R 函数function的源代码呢? 在R里面,想查看一个function的源代码,直接输入function的名字,执行就可以。 我们以sort为例子。 > sort functio...

    function是有多个语句组成,完成一个特定的任务。R语言里面有很多内嵌的functions,用户也可以自己定义。比如说sort, summary, help都是R里面常用的function。

    我们如何查看一个R 函数function的源代码呢?
    在R里面,想查看一个function的源代码,直接输入function的名字,执行就可以。
    我们以sort为例子。

    > sort
    function (x, decreasing = FALSE, ...) 
    {
        if (!is.logical(decreasing) || length(decreasing) != 1L) 
            stop("'decreasing' must be a length-1 logical vector.\nDid you intend to set 'partial'?")
        UseMethod("sort")
    }
    <bytecode: 0x0000000014d14e48>
    <environment: namespace:base>
    

    我们可以看到sort的参数和一些R语句。那这个UseMethod("sort")又是什么意思?这个告诉我们sort是一个泛型函数,不同的classes有不同的实现。
    我们接着看一下这个泛型函数的所有方法。我们可以看到sort.POSIXlt内部用的是order函数。

    > methods(sort)
    [1] sort.bibentry* sort.default   sort.POSIXlt  
    see '?methods' for accessing help and source code
    
    > sort.POSIXlt
    function (x, decreasing = FALSE, na.last = NA, ...) 
    x[order(as.POSIXct(x), na.last = na.last, decreasing = decreasing)]
    <bytecode: 0x000000000566f2d8>
    <environment: namespace:base>
    

    在函数里面可以看到的<bytecode:>表示代码是编译过得,可能是C,C++或者fortran代码。

    展开全文
  • r语言中怎样查看函数源代码

    千次阅读 2016-04-12 10:29:00
    源自:...在r中看函数源代码在R中,代码可以分为如下几个级别: 首先,是你输入了函数对象名称,你可以直接看到代码的,如要获得函数对象fivenum...

    源自: http://zhidao.baidu.com/link?url=hp77BAOSlcZgXDFghzP8sE9Gt2D2r4YkK0cwtRzWU0EwI9w7pZ30lpEQPnJcK0_okmGUrwRjUvUyFyDQ1TDuD_

    在r中看函数源代码:
    在R中,代码可以分为如下几个级别:

    首先,是你输入了函数对象名称,你可以直接看到代码的,如要获得函数对象fivenum的代码,就只需要在Console中键入函数对象名称fivenum就可以得到如下结果:

    function (x, na.rm = TRUE)
    {
    xna <- is.na(x)
    if (na.rm)
    x <- x[!xna]
    else if (any(xna))
    return(rep.int(NA, 5))
    x <- sort(x)
    n <- length(x)
    if (n == 0)
    rep.int(NA, 5)
    else {
    n4 <- floor((n + 3)/2)/2
    d <- c(1, n4, (n + 1)/2, n + 1 - n4, n)
    0.5 * (x[floor(d)] + x[ceiling(d)])
    }
    }
    <environment: namespace:stats>

    从上面的例子可以看出,这类函数对象的代码是最容易看到的,也是我们学习的最好的材料了,而R中最大多数的函数对象是以这种方式出现的。

    其次,我们在输入mean这类函数名次的时候,会出现如下结果:

    function (x, ...)
    UseMethod("mean")
    <environment: namespace:base>

    这表示函数作者把函数“封”起来了。这个时候我们可以先试一试methods(mean),利用methods函数看看mean这个函数都有哪些类型的,我们得到的结果如下:

    [1] mean.data.frame mean.Date mean.default mean.difftime mean.POSIXct mean.POSIXlt

    其实对此可以有一个简单的理解,虽然不够精确。因为在R中,mean函数可以求得属于不同类型对象的平均值,而不同类型对象平均值的求法还是有一些小小差 异的,比如说求一个向量的平均值和求一个数据框的平均值就有所差异,就要编写多个mean函数,然后“封”起来,以一个统一的mean出现,方便我们使 用。这正好也反映了R有一种类似泛型编程语言的性质。

    既然我们已经知道mean中还有这么多种类,我们可以输入mean.default试一试就可以得到:

    function (x, trim = 0, na.rm = FALSE, ...)
    {
    if (!is.numeric(x) && !is.complex(x) && !is.logical(x)) {
    warning("argument is not numeric or logical: returning NA")
    return(as.numeric(NA))
    }
    if (na.rm)
    x <- x[!is.na(x)]
    trim <- trim[1]
    n <- length(x)
    if (trim > 0 && n > 0) {
    if (is.complex(x))
    stop("trimmed means are not defined for complex data")
    if (trim >= 0.5)
    return(stats::median(x, na.rm = FALSE))
    lo <- floor(n * trim) + 1
    hi <- n + 1 - lo
    x <- sort.int(x, partial = unique(c(lo, hi)))[lo:hi]
    n <- hi - lo + 1
    }
    .Internal(mean(x))
    }
    <environment: namespace:base>

    同样就可以得到mean.data.frame、mean.Date、mean.difftime、mean.POSIXct、mean.POSIXlt 的具体内容了。值得注意的是,在R中,出现有多个同样近似功能的函数封装为一个函数的时候(这时候在函数中多半会出现类似UseMethod函数使用的情 况),我们不妨先输入mean.default试一试。这种形式的函数在R中一般作为默认的函数表示。

    第三,这是一种特殊的情况,有人认为应该和第二种是一类,但是我还是要提出来单独归类。在这种情况也和第二种的原因有些类似,但并不是完全一致。

    也许我们大家都很熟悉plot函数了吧,输入函数名plot的时候,我们会得到如下结果:

    function (x, y, ...)
    {
    if (is.null(attr(x, "class")) && is.function(x)) {
    nms <- names(list(...))
    if (missing(y))
    y <- {
    if (!"from" %in% nms)
    0
    else if (!"to" %in% nms)
    1
    else if (!"xlim" %in% nms)
    NULL
    }
    if ("ylab" %in% nms)
    plot.function(x, y, ...)
    else plot.function(x, y, ylab = paste(deparse(substitute(x)),
    "(x)"), ...)
    }
    else UseMethod("plot")
    }
    <environment: namespace:graphics>

    请注意plot函数中也出现了UseMethod这个函数,但是和mean不同的是,前面有相当多的语句用于处理其他一些事情。这个时候,我们也使用methods(plot)来看看,得到如下结果:

    plot.acf* plot.data.frame* plot.Date* plot.decomposed.ts* plot.default
    plot.dendrogram* plot.density plot.ecdf plot.factor* plot.formula*
    plot.hclust* plot.histogram* plot.HoltWinters* plot.isoreg* plot.lm
    plot.medpolish* plot.mlm plot.POSIXct* plot.POSIXlt* plot.ppr*
    plot.prcomp* plot.princomp* plot.profile.nls* plot.spec plot.spec.coherency
    plot.spec.phase plot.stepfun plot.stl* plot.table* plot.ts
    plot.tskernel* plot.TukeyHSD

    不看不知道,一看吓一跳,还以为我们输入plot的输出就是函数本身,结果也许不是如此。可能有人已经理解了,其实最后的UseMethod函数实在默认 的调用plot.default函数,赶快再看看plot.default函数吧,发现它再调用plot.xy函数,再看看plot.xy函数,再 plot.xy函数中调用了一个.Internal(plot.xy(xy, type, pch, lty, col, bg, cex, lwd, ...))函数,也许这就是真正起作用的函数了吧。思路基本上就是如此了,是否这个时候您可以获得一些阅读查找R函数内容的乐趣。

    除了直接输入FUN.default形式外,还可以使用getS3method(FUN,"default")来获得代码。这样就解决了绝大多数函数代码查看的工作了。

    在第二种情况种,我们说了一般可以通过FUN.default获得想要的结果。但是只有称为generic的函数才有这种“特权”。而lm等则没有,不过我们也可以尝试使用methods(lm)来看看结果如何,发现:
    [1] lm.fit lm.fit.null lm.influence lm.wfit lm.wfit.null
    Warning message:
    function 'lm' appears not to be generic in: methods(lm)

    出现了警告信息,表示说lm不是泛型函数,但是还是给出了结果lm.fit等,大致上可以看成是和lm相关的系列函数吧。这样子就出现了有趣的局面,比如说既有plot.ts,也有ts.plot。

    依照第三种情况,我们发现竟然有的函数用星号标识了的,比如plot.stl*等,当我们输入plot.stl,甚至是plot.stl*的时候都会给出 要么找不到这个对象,要么干脆是代码错误的信息。原来凡是用了*标识的函数,都是隐藏起来的函数,估计是怕被人看见(其实这是玩笑话)!我们要看这些函数 的代码,我们该怎么办呢?其实也很容易,使用功能强大的getAnywhere(FUN),看看这个函数的名称,就可以猜想到它的功能估计是很强大的, Anywhere的内容都可以找到!getAnywhere(plot.stl)的结果如下:

    A single object matching 'plot.stl' was found
    It was found in the following places
    registered S3 method for plot from namespace stats
    namespace:stats
    with value
    function (x, labels = colnames(X), set.pars = list(mar = c(0,
    6, 0, 6), oma = c(6, 0, 4, 0), tck = -0.01, mfrow = c(nplot,
    1)), main = NULL, range.bars = TRUE, ..., col.range = "light gray")
    {
    sers <- x$time.series
    ncomp <- ncol(sers)
    data <- drop(sers %*% rep(1, ncomp))
    X <- cbind(data, sers)
    colnames(X) <- c("data", colnames(sers))
    nplot <- ncomp + 1
    if (range.bars)
    mx <- min(apply(rx <- apply(X, 2, range), 2, diff))
    if (length(set.pars)) {
    oldpar <- do.call("par", as.list(names(set.pars)))
    on.exit(par(oldpar))
    do.call("par", set.pars)
    }
    for (i in 1:nplot) {
    plot(X[, i], type = if (i < nplot)
    "l"
    else "h", xlab = "", ylab = "", axes = FALSE, ...)
    if (range.bars) {
    dx <- 1/64 * diff(ux <- par("usr")[1:2])
    y <- mean(rx[, i])
    rect(ux[2] - dx, y + mx/2, ux[2] - 0.4 * dx, y -
    mx/2, col = col.range, xpd = TRUE)
    }
    if (i == 1 && !is.null(main))
    title(main, line = 2, outer = par("oma")[3] > 0)
    if (i == nplot)
    abline(h = 0)
    box()
    right <- i%%2 == 0
    axis(2, labels = !right)
    axis(4, labels = right)
    axis(1, labels = i == nplot)
    mtext(labels[i], side = 2, 3)
    }
    mtext("time", side = 1, line = 3)
    invisible()
    }
    <environment: namespace:stats>

    注意到前面有一段解释型的语言,描述了我们要找的这个函数放在了什么地方等等。其实对任意我们可以在R中使用的函数,都可以先试一试getAnywhere,看看都有些什么内容。算是一个比较“霸道”的函数。

    在上面plot.xy函数中,我们还可以看到.Internal这个函数,类似的也许还可以看到.Primitive、.External、.Call等 函数这就和R系统内部工作方式和与外部接口的定义有关了,如果对这些函数有兴趣的话,就要学习组成R系统的源代码了。

    最后,如果真的想阅读组成R系统本身的源代码,在各个CRAN中均有下载。你可以得到组成R系统所需要的材料。其中很多C语言(还有就是F)的源代码,均 是精心挑选过的算法,哪怕就是想学从头到尾编写具体的算法,也是学习的好材料。同时,你可以看到R系统内部是如何构成的,理解了这些对于高效使用R有至关 重要的作用。这个范畴的材料就要着重看一看R-Lang和R-inits了。

    至此,R中阅读代码的内容就依照我的理解介绍了一下。随后将有一些R代码示例的分析注解、语言本身、R应用的和行业使用的材料翻译和具体例子说明。欢迎大家多多和我交流,一起进步。 

    转载于:https://www.cnblogs.com/Betterman-sun/p/5381658.html

    展开全文
  • R语言函数源代码查看

    万次阅读 2016-07-15 11:04:54
    作为一个开源软件,R的一个非常大的优点就是我们可以随意查看所有算法的源代码对这些源代码进行分析的过程不仅可以加深对算法的认识,而且可以大步提高对R语言的掌握程度。如果可以也能根据自己的需求,对算法...

    作为一个开源软件,R的一个非常大的优点就是我们可以随意查看所有算法的源代码,在对这些源代码进行分析的过程中不仅可以加深对算法的认识,而且可以大步提高对R语言的掌握程度。如果可以也能根据自己的需求,对算法进行改进。如下是函数源代码的查看的方法:

    1. 最直接的方法当然是直接键入函数,大部分函数源代码就可以直接显现出来

    eg:

    > fivenum
    function (x, na.rm = TRUE) 
    {
        xna <- is.na(x)
        if (any(xna)) {
            if (na.rm) 
                x <- x[!xna]
            else return(rep.int(NA, 5))
        }
        x <- sort(x)
        n <- length(x)
        if (n == 0) 
            rep.int(NA, 5)
        else {
            n4 <- floor((n + 3)/2)/2
            d <- c(1, n4, (n + 1)/2, n + 1 - n4, n)
            0.5 * (x[floor(d)] + x[ceiling(d)])
        }
    }
    <bytecode: 0x000000000edef680>
    <environment: namespace:stats>

    2. 有些函数直接键入出不来源代码,主要是因为R是面向对象设计的程序语言,不同的对象,计算方式也不同,所以要通过methods()来进一步定义具体的查看对象:

    eg: 键入 mean函数 只会出现如下结果:

    > mean
    function (x, ...) 
    UseMethod("mean")
    <bytecode: 0x000000000ee7f8d8>
    <environment: namespace:base>

    则需要用methods()来进一步查看

    > methods(mean)
    [1] mean.Date     mean.default  mean.difftime mean.POSIXct  mean.POSIXlt 
    see '?methods' for accessing help and source code

    此时mean包含多个函数,任选取一个函数作为查看

    > mean.default
    function (x, trim = 0, na.rm = FALSE, ...) 
    {
        if (!is.numeric(x) && !is.complex(x) && !is.logical(x)) {
            warning("argument is not numeric or logical: returning NA")
            return(NA_real_)
        }
        if (na.rm) 
            x <- x[!is.na(x)]
        if (!is.numeric(trim) || length(trim) != 1L) 
            stop("'trim' must be numeric of length one")
        n <- length(x)
        if (trim > 0 && n) {
            if (is.complex(x)) 
                stop("trimmed means are not defined for complex data")
            if (anyNA(x)) 
                return(NA_real_)
            if (trim >= 0.5) 
                return(stats::median(x, na.rm = FALSE))
            lo <- floor(n * trim) + 1
            hi <- n + 1 - lo
            x <- sort.int(x, partial = unique(c(lo, hi)))[lo:hi]
        }
        .Internal(mean(x))
    }
    <bytecode: 0x0000000011060640>
    <environment: namespace:base>

    3. 在函数包中的函数,则需要选调函数包,然后 再直接键入函数名。

    eg:查看聚类中的DBSCAN算法

    > library(fpc)
    > dbscan
    function (data, eps, MinPts = 5, scale = FALSE, method = c("hybrid", 
        "raw", "dist"), seeds = TRUE, showplot = FALSE, countmode = NULL) 
    {
        distcomb <- function(x, data) {
            data <- t(data)
            temp <- apply(x, 1, function(x) {
                sqrt(colSums((data - x)^2))
            })
            if (is.null(dim(temp))) 
                matrix(temp, nrow(x), ncol(data))
            else t(temp)
        }
        method <- match.arg(method)
        data <- as.matrix(data)
        n <- nrow(data)
        if (scale) 
            data <- scale(data)
        classn <- cv <- integer(n)
        isseed <- logical(n)
        cn <- integer(1)
        for (i in 1:n) {
            if (i %in% countmode) 
                cat("Processing point ", i, " of ", n, ".\n")
            unclass <- (1:n)[cv < 1]
            if (cv[i] == 0) {
                if (method == "dist") {
                    reachables <- unclass[data[i, unclass] <= eps]
                }
                else {
                    reachables <- unclass[as.vector(distcomb(data[i, 
                      , drop = FALSE], data[unclass, , drop = FALSE])) <= 
                      eps]
                }
                if (length(reachables) + classn[i] < MinPts) 
                    cv[i] <- (-1)
                else {
                    cn <- cn + 1
                    cv[i] <- cn
                    isseed[i] <- TRUE
                    reachables <- setdiff(reachables, i)
                    unclass <- setdiff(unclass, i)
                    classn[reachables] <- classn[reachables] + 1
                    while (length(reachables)) {
                      if (showplot) 
                        plot(data, col = 1 + cv, pch = 1 + isseed)
                      cv[reachables] <- cn
                      ap <- reachables
                      reachables <- integer()
                      if (method == "hybrid") {
                        tempdist <- distcomb(data[ap, , drop = FALSE], 
                          data[unclass, , drop = FALSE])
                        frozen.unclass <- unclass
                      }
                      for (i2 in seq(along = ap)) {
                        j <- ap[i2]
                        if (showplot > 1) 
                          plot(data, col = 1 + cv, pch = 1 + isseed)
                        if (method == "dist") {
                          jreachables <- unclass[data[j, unclass] <= 
                            eps]
                        }
                        else if (method == "hybrid") {
                          jreachables <- unclass[tempdist[i2, match(unclass, 
                            frozen.unclass)] <= eps]
                        }
                        else {
                          jreachables <- unclass[as.vector(distcomb(data[j, 
                            , drop = FALSE], data[unclass, , drop = FALSE])) <= 
                            eps]
                        }
                        if (length(jreachables) + classn[j] >= MinPts) {
                          isseed[j] <- TRUE
                          cv[jreachables[cv[jreachables] < 0]] <- cn
                          reachables <- union(reachables, jreachables[cv[jreachables] == 
                            0])
                        }
                        classn[jreachables] <- classn[jreachables] + 
                          1
                        unclass <- setdiff(unclass, j)
                      }
                    }
                }
            }
            if (!length(unclass)) 
                break
        }
        rm(classn)
        if (any(cv == (-1))) {
            cv[cv == (-1)] <- 0
        }
        if (showplot) 
            plot(data, col = 1 + cv, pch = 1 + isseed)
        out <- list(cluster = cv, eps = eps, MinPts = MinPts)
        if (seeds && cn > 0) {
            out$isseed <- isseed
        }
        class(out) <- "dbscan"
        out
    }
    <environment: namespace:fpc>

    展开全文
  • matlabtrapz函数源代码Ludwig & Gilchrist (2002) 随附的 Matlab 代码。 测量扫视曲率:曲线拟合分析。 行为研究方法、仪器和计算机。 我很抱歉那篇论文给出的链接不再有效。 我仍然收到此代码的请求,所以我想...
  • R查看函数源代码

    万次阅读 多人点赞 2015-11-21 17:41:47
    方法一:直接写函数名称,如在R中查看回归分析代码: 方法二:与方法一类似,用函数page(),不过,结果另一个窗口显示。 方法三:与方法二类似,用函数edit()。 方法四:对于计算方法不同的函数,要用...
  • 查看R函数源代码

    万次阅读 2013-12-03 16:02:17
     我属于这种抱有浓厚兴趣的人之一,而且我也知道使用R时间稍微长一点的用户,想看看函数代码的人,不是少数;甚至有这么一些人,他们非常希望通过这些 成熟package函数学习如何编写自己的函数,实现自己的...
  • 原文档(英文)由Tom Short tshort@eprisolutions.com撰写,你可以www.Rpad.org上得到最新文档。中文版本文档(已获得Tom Short的翻译许可)结构上同原版类似,局部添加了若干常用命令。后续修订以及维护由刘思喆...
  • 1. 查看opencv中函数源代码 为了查看opencv源代码,可以安装cmake,编译一个.sln工程,如下图所示。这样可以很方便的查看函数源代码。 关于配置cmake的方法可以直接百度,有很多相关教程 2. imread()的...
  • 针对 S3 类型的函数,运行methods("函数名") 查看有哪些具体的函数:对于不带星号的函数,运行具体的函数名,对于带星号*的 不可见 函数运行getAnywhere("具体的函数名") 输入函数名之后显示有 UseMethod("函数名") ...
  • randi函数源代码[源代码] ps_closest.R:原始PSO代码ps_closest_rwr.R:包含用于读取,写入和规范化RWR原始数据文件的函数ps_closest_iso.R:使用角坐标(未规范化)生成PSO网络 [数据文件] real_rwr.csv:原始RWR...
  • R语言泛型函数

    2019-04-12 18:30:33
    日常数据处理,我们可能会有这样的情况:即使看了函数的帮助文档, 仍然不能很好的使用这个函数。或者我们仅仅是对这个函数如何实现这样的复杂 功能感到好奇。...本文档包含了查看泛型函数源代码的方法
  • R中查看函数源代码

    2015-02-02 15:14:12
    1、简单的函数(非类函数),直接在R里面输入函数名就可以查看源代码,例如: > replace function (x, list, values)  {  x[list]  x } 2、对于类函数,直接输入函数名不能显示出源代码,例如: ...
  • atoi函数源代码

    万次阅读 2015-03-31 10:35:05
    atoi函数源代码 isspace(int x) { if(x==' '||x=='\t'||x=='\n'||x=='\f'||x=='\b'||x=='\r') return 1; else return 0; } isdigit(int x) { if(x='0') return 1; else return 0; } int atoi
  • 试了一上午,终于弄好了!!! 我的需求:R语言相关性...1.先从Cranhttps://cran.r-project.org/找到PerformanceAnalytics包,下载其源代码,从中找到chart.correlation函数源代码,我只需要更改星号的个数,即..
  • R语言源代码下载

    千次阅读 2019-12-26 14:04:33
    软件都没用过就算了,学一学就行,可是这些软件只支持英文文献,对中文不支持啊,如果想用则要自己修改源代码。能不能成还不知道,但也要尝试一下。 要命的事,bibliometrix由R语言编写,SciMAT由java编写。我只熟悉...
  • #R_函数#R中如何看函数源代码

    千次阅读 2012-12-14 10:29:22
    作为一个开源软件,R的一个非常大的优点就是我们可以随意查看所有算法的源代码对这些源代码进行分析的过程不仅可以加深对算法的认识,而且可以大步提高对R语言的掌握程度。所以接下来我重点写点关于各统计方法...
  • 欢迎关注小号:医学统计数据分析,今天我们来介绍一下医学统计学常用统计学方法的R语言基本操作。 R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计...
  • 该存储库收集论文的源代码: “保证非次模块函数贪婪最大化与应用程序的保证。” ICML2017。A.Bian,J。Buhmann,A。Krause和S. Tschiatschek。 用法: 档案结构: 子文件夹包含实验的源文件: “贝叶斯A最优”:...
  • eig函数源代码idvf:具有自适应双残差反馈控制的变形矢量场迭代反演 内容 算法概述 该存储库包含一组 MATLAB 函数,用于快速准确地反演 2D/3D 变形矢量场 (DVF),也称为流场或密集运动场。 反演算法框架和统一分析见...
  • r语言ggplot函数 Tidyverse包(例如ggplot2和dplyr)具有通常很方便的函数语法:您不必将列名放在引号。 例如: dplyr::filter(mtcars, mpg > 30) 请注意,列名mpg未引用。 但是,如果要使用tidyverse编写...
  • 这篇文章主要涉及如何实现medfilt2函数,medfilt2的详细用法可以看这篇文章:Matlab消除图像噪声之值滤波器:medfilt2 注:实际上处理效果与medfilt2函数有点小差别,对边缘的处理,我是使边缘处的像素点取最近...
  • 查看R源代码的六种方法

    千次阅读 2017-05-24 14:21:00
    :对于方法四中methods()得出的类函数中带星号标注的源代码,用函数getAnywhere(),如查找predict函数源代码。 methods(predict)  复制代码 结果显示: [1] predict.ar* predict.Arima* predict....
  • LCD1602液晶显示器(C函数源代码
  • matlab点点图代码用于解析函数定义和调用的源代码的多语言工具 调用图显示了函数在程序如何相互调用。 每个椭圆代表一个函数,每个箭头表示一个函数调用。 下图,主程序由节点 MAIN 表示。 它调用 6 个函数,...
  • matlab的fit函数实现源码 Log 2020-05-27 Wed 9:33 创新点、主要内容修改 2020-05-22 Fri 08:30 修改参考文献 2020-05-20 Wed 6:40 思维框架图和甘特图 2020-05-19 Tue 19:36 尝试修改matlab的DCC-MIDAS代码,目前...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 270,903
精华内容 108,361
关键字:

如何在r中查看函数源代码