小编Xia*_* Li的帖子

R 使用带有 NA 输入的 Rcpp 崩溃/中止

我想处理两个光栅图像(Ra 和 Rb),Ra 是像素值本身,Rb 是其邻居的值。以 sum 为例,假设有一个 3*3 的邻居,对于 Ra 中的每个像素,我会将其值添加到 Rb 中的邻居像素的值中,最终我将得到另一幅图像。

R 光栅包提供了一个焦点函数,该函数仅适用于一个图像输入,我尝试修改 C++ 代码(在此处输入链接描述)以使用 Rcpp 接受两个图像输入。如果 Rb 的输入图像中没有缺失值,则修改后的代码可以很好地工作。然而,如果 Rb 中存在 NA,R 总是会中止。具体来说,在第二次或第三次测试时中止。它可能与这篇文章类似。然而,如果输入 Rb 中没有 NA,它不会崩溃。看来我没有正确处理 NA。我对 C++ 没有深入的了解,有人可以帮我检查一下吗?

这是我的.cpp 文件:

#include <Rcpp.h>
#include <R.h>
#include <Rinternals.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <Rmath.h>
#include "Rdefines.h"
#include "R_ext/Rdynload.h"

using namespace Rcpp;
// [[Rcpp::export]]
NumericVector focal_quantile(NumericVector xd, int ngbb, NumericVector sf) {
  //the imges are transfered to vector, ngbb is the size of the …
Run Code Online (Sandbox Code Playgroud)

c++ r rcpp rstudio na

0
推荐指数
1
解决办法
273
查看次数

标签 统计

c++ ×1

na ×1

r ×1

rcpp ×1

rstudio ×1