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

我的目标只是使用%in%运算符将栅格对象中的值与向量中的值进行比较。

直接从控制台运行就可以了:

values(raster(rbind(c(2,6,7,8),c(4,5,7),c(3,4,5),c(1,23,1,6))) %in% c(2,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,7))
}

当我加载程序包并调用函数时:

devtools::load_all( ".")
test_lst( raster( rbind( c( 2,c( 4,c( 3,c( 1,6))))

我得到的是以下错误:

Error in match(x,table,nomatch = 0L) : 
'match' requires vector arguments

我看不到我在做什么错。在描述文件的imports部分中声明了“ raster”。

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

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2945510.html

大家都在问