1

我一直试图让这个工作没有任何运气(我是 R 新手,所以真的不知道如何做很多事情并且一直在遵循示例)。基本上我创建了一个 R 脚本,它会在运行时自动加载地图,保存为 .R 文件:

library(maps)
library(maptools)
library(mapdata)
map('worldHires', 
       c('UK', 'Ireland', 'Isle of Man','Isle of Wight'), 
        xlim=c(-11,3), ylim=c(49,60.9))

我希望这在我打开时自动发生,RGui而不必去加载脚本,然后选择全部运行。我已经阅读了关于编辑Rprofile.site file我所做的内容并添加了一个条目:

.First <- function(){
    library(maps)
    library(maptools)
    library(mapdata)
    map('worldHires', 
        c('UK', 'Ireland', 'Isle of Man','Isle of Wight'), 
        xlim=c(-11,3), ylim=c(49,60.9))
}

但是,当我启动 R 时,我认为它会加载库,但它会说:

Error in maptype(database) : could not find function "data"

并且没有生成地图。但是,当我手动加载脚本然后按全部运行时,它工作得很好。

我在这里做错了吗?该.First功能是否仅加载包?什么会让它发挥作用?我也试过只source(script location)在第一个函数中使用,这给出了同样的错误。

4

1 回答 1

0

您遇到的问题是.First脚本只能使用包中的函数base,除非包已被显式加载。所以在你的情况下,你需要加载

  • utilsdata功能。
  • graphicspar功能。

把它放在一起给出:

.First <- function() {
    library(utils); library(graphics)

    library(maps)
    library(maptools)
    library(mapdata)
    map('worldHires', 
        c('UK', 'Ireland', 'Isle of Man','Isle of Wight'), 
        xlim=c(-11,3), ylim=c(49,60.9))
}
于 2013-09-08T12:58:56.857 回答