我一直试图让这个工作没有任何运气(我是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)
,并给出相同的错误。
答案 0 :(得分:0)
您遇到的问题是.First
脚本只能使用base
包中的函数,除非已明确加载包。所以在你的情况下,你需要加载
utils
代表data
函数。graphics
代表par
函数。把它放在一起给出了:
.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))
}