我的目标只是使用%in%运算符将栅格对象中的值与向量中的值进行比较。
直接从控制台运行就可以了:
values(raster(rbind(c(2,6,7,8),c(4,5,6,7),c(3,4,7,5),c(1,23,1,6))) %in% c(2,5,7))
[1] TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE
但是我需要一个正在开发的程序包中的函数,并且我有以下代码:
test_lst <- function( rst) {
return ( rst %in% c( 2, 5, 7))
}
当我加载程序包并调用函数时:
devtools::load_all( ".")
test_lst( raster( rbind( c( 2, 6, 7, 8),
c( 4, 5, 6, 7),
c( 3, 4, 7, 5),
c( 1, 23,1, 6))))
我得到的是以下错误:
Error in match(x, table, nomatch = 0L) :
'match' requires vector arguments
我看不到我在做什么错。在描述文件的imports部分中声明了“ raster”。