r - .R 中的第一个函数

标签 r

我不明白 R 中 .First 函数的意义。我的原因是 .Rprofile 中的任何代码都将在 R 启动时获取并执行。

这个

.First<-function(){                                                                 
    library('devtools')                                     
}

和这个
library('devtools')

在 .Rprofile 中具有完全相同的效果。

但是,以下示例显示 .First 可以有所作为:

示例 1,您可以看到 X11.options()$type 正确地变成了 .Rprofile 中设置的 Xlib
>> cat .Rprofile
.First <- function() {
    library(devtools)
}

setHook(
    packageEvent("grDevices", "onLoad"),
    function(...) grDevices::X11.options(type="Xlib")
)

>> Rscript -e 'X11.options()$type'
[1] "Xlib"

例子2,可以看到X11.options()$type还是cairo,.Rprofile里面的setHook没有生效
>> cat .Rprofile
library(devtools)

setHook(
    packageEvent("grDevices", "onLoad"),
    function(...) grDevices::X11.options(type="Xlib")
)

>> Rscript -e 'X11.options()$type'
[1] "cairo"
  • 在什么情况下我绝对必须使用 .First 函数?
  • 为什么 .First 在上面的例子中有所不同?

  • 谢谢!

    最佳答案

    这可能是不必要的,但它确实提供了另一个修改启动的地方。拥有它当然不会有什么坏处。

    我通常在不同的目录中运行 R 以保持分离;链接到一个通用的 .Rprofile;并使用 .First 为我正在处理的特定问题定制当前的 R 运行环境。如果 .First action 不可用,我就必须创建一个。

    关于r - .R 中的第一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35356603/

    相关文章:

    r - ggplot2 直方图 scale_fill_gradient 不适用于连续变量

    r - 在 Shiny 的应用程序中以模式生成进度条,自动关闭

    r - 图例颜色条被截断并且连续比例不遵守限制

    r - 创建具有新维度并省略 NA 值的新矩阵

    r - 使用theme_bw时,如何删除ggplot2图例中各个条目周围的灰色边框?

    R - 如何替换数据框中的部分变量字符串

    r - 有条件地用 data.table 替换列值

    从坐标检索人口普查区

    r - pickerInput 默认选择所有选项

    r - 导致包出现故障的特殊安装警告