如何解决待更换项目的错误数量不是R中更换长度的倍数的问题?

如何解决待更换项目的错误数量不是R中更换长度的倍数的问题?,r,raster,predict,gam,logits,R,Raster,Predict,Gam,Logits,我试图用GAM和光栅进行空间预测。我有一个深度数据的光栅文件(depth_R.asc),以及248个地点物种的存在和缺失数据(depth.csv)。首先,我拟合了这248个数据,然后使用光栅:预测函数预测整个研究区域深度数据(depth_R.asc)中物种的出现概率。但当我想这样做时,我会出现以下错误: p[-naind,]中出现错误,如果您在此处查看: 您发现光栅和数据之间的名称不匹配 例如: class : RasterLayer dimensions : 1276, 686,

我试图用GAM和光栅进行空间预测。我有一个深度数据的光栅文件(depth_R.asc),以及248个地点物种的存在和缺失数据(depth.csv)。首先,我拟合了这248个数据,然后使用光栅:预测函数预测整个研究区域深度数据(depth_R.asc)中物种的出现概率。但当我想这样做时,我会出现以下错误: p[-naind,]中出现错误,如果您在此处查看:

您发现
光栅
数据
之间的名称不匹配

例如:

class      : RasterLayer 
dimensions : 1276, 686, 875336  (nrow, ncol, ncell)
resolution : 0.005, 0.005  (x, y)
extent     : 88.9975, 92.4275, 17.9975, 24.3775  (xmin, xmax, ymin, ymax)
crs        : NA 
source     : E:/dissertation/dissertation/Depth_R.asc 
names      : Depth_R 

#AND
> names(Data)
[1] "PA"    "Depth"
  • 正如您所看到的,
    X
    的名称是
    Depth\R
    ,而
    数据的名称是
    its
    Depth
  • 您需要做的只是:

    names(X) <- "Depth"
    
    model <- gam(PA ~s(Depth), method="REML",family = binomial("logit"), data=Data)
    
    p <- raster::predict(X, t, type="response")
    
    > p
    class      : RasterLayer 
    dimensions : 1276, 686, 875336  (nrow, ncol, ncell)
    resolution : 0.005, 0.005  (x, y)
    extent     : 88.9975, 92.4275, 17.9975, 24.3775  (xmin, xmax, ymin, ymax)
    crs        : NA 
    source     : memory
    names      : layer 
    values     : 2.220446e-16, 0.9585746  (min, max)
    
    名称(X)
    
    names(X) <- "Depth"
    
    model <- gam(PA ~s(Depth), method="REML",family = binomial("logit"), data=Data)
    
    p <- raster::predict(X, t, type="response")
    
    > p
    class      : RasterLayer 
    dimensions : 1276, 686, 875336  (nrow, ncol, ncell)
    resolution : 0.005, 0.005  (x, y)
    extent     : 88.9975, 92.4275, 17.9975, 24.3775  (xmin, xmax, ymin, ymax)
    crs        : NA 
    source     : memory
    names      : layer 
    values     : 2.220446e-16, 0.9585746  (min, max)