Это из-за плохой обработки (маскировки) универсальных функций в пакете marmap. Вы можете избежать этой проблемы, загрузив сначала растровый пакет, а затем пакет marmap. (это также сбивает с толку, что он использует as.raster
вместо raster
; потому что по умолчанию as.raster
от grDevices и не создает RasterLayer)
library(marmap)
#Registered S3 methods overwritten by 'adehabitatMA':
# method from
# print.SpatialPixelsDataFrame sp
# print.SpatialPixels sp
#Registered S3 methods overwritten by 'ggplot2':
# method from
# [.quosures rlang
# c.quosures rlang
# print.quosures rlang
#
#Attaching package: ‘marmap’
#
#The following object is masked from ‘package:grDevices’:
#
# as.raster
data(hawaii)
r <- as.raster(hawaii)
Теперь загрузите растровый пакет, и он потерпит неудачу
library(raster)
#Loading required package: sp
r <- as.raster(hawaii)
#Error in UseMethod("as.raster") :
# no applicable method for 'as.raster' applied to an object of class "bathy"
Все работает, если вместо этого вы делаете
library(raster)
library(marmap)
data(hawaii)
r <- as.raster(hawaii)