逻辑运算的结果 & 和 |terra 中的 NA 与 R-base 的不同意?

The results of the logical operations & and | with NA in terra do not agree with those of R-base?

提问人:Jean-Luc Dupouey 提问时间:11/5/2023 更新时间:11/5/2023 访问量:32

问:

以下代码显示,它不会以与 does 相同的方式进行解释。在这两种情况下,结果都是 。使用 ,结果分别为 和 。我知道这两种选择对于编程语言来说都是可以接受的选择。但是,即使对于有经验的用户来说,当软件包的行为与 和 等低级操作的行为不同时,它也可能是一个真正的陷阱。我查看了文档,看看是否有任何地方提到过这一点,但我找不到它。如果确实如此,那么在某处指出这一点可能会有所帮助。但也许我错了。或者说,为栅格做出这种选择是有充分理由的?terraNA | TRUENA & FALSER-baseterraNAR-baseTRUEFALSER-base&|terra

     vals1 <- rep(c(NA,FALSE,TRUE),each=3)
     vals2 <- rep(c(NA,FALSE,TRUE),3)
     r1 <- rast(nrows=3, ncols=3, vals=vals1)
     r2 <- rast(nrows=3, ncols=3, vals=vals2)
     Or <- r1 | r2
     And <- r1 & r2
     data.frame(r1=values(r1,mat=FALSE),r2=values(r2,mat=FALSE),"r1 or r2 (terra)"=values(Or,mat=FALSE),"r1 or r2 (R)"=vals1|vals2)
          
#         r1    r2 r1.or.r2..terra. r1.or.r2..R.
#    1    NA    NA               NA           NA
#    2    NA FALSE               NA           NA
#    3    NA  TRUE               NA         TRUE
#    4 FALSE    NA               NA           NA
#    5 FALSE FALSE            FALSE        FALSE
#    6 FALSE  TRUE             TRUE         TRUE
#    7  TRUE    NA               NA         TRUE
#    8  TRUE FALSE             TRUE         TRUE
#    9  TRUE  TRUE             TRUE         TRUE
    
    data.frame(r1=values(r1,mat=FALSE),r2=values(r2,mat=FALSE),"r1 and r2 (terra)"=values(And,mat=FALSE),"r1 and r2 (R)"=vals1 & vals2)
    
#         r1    r2 r1.and.r2..terra. r1.and.r2..R.
#    1    NA    NA                NA            NA
#    2    NA FALSE                NA         FALSE
#    3    NA  TRUE                NA            NA
#    4 FALSE    NA                NA         FALSE
#    5 FALSE FALSE             FALSE         FALSE
#    6 FALSE  TRUE             FALSE         FALSE
#    7  TRUE    NA                NA            NA
#    8  TRUE FALSE             FALSE         FALSE
#    9  TRUE  TRUE              TRUE          TRUE
栅格 逻辑运算符 terra

评论

0赞 nukubiho 11/7/2023
这在开发版中不是固定的吗?github.com/rspatial/terra/issues/1316

答: 暂无答案