R错误:“匹配”需要向量参数-带有S4对象(光栅)作为参数和运算符%in%的封装函数

时间:2019-12-10 23:05:30

标签: r package match raster s4

我的目标只是使用%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”。

0 个答案:

没有答案