gpt4 book ai didi

image - RMSE Landsat8 AVHRR

转载 作者:行者123 更新时间:2023-12-03 08:45:43 25 4
gpt4 key购买 nike

我想在Landsat8 NDVI IMG和AVHRR NDVI IMG之间进行空间验证

两个IMG具有相同的投影,范围和像素大小

为此,我想确定RMSE。
但是,我收到错误消息:

在行:

error <- actual - predicted

此错误,无法继续
实际错误-预测:
二进制运算符的非数字参数

我该如何更改代码才能获得成功?
这是我完整的代码
library(sp)
library(raster)
library(rgdal)
library(rastervis)
library(rgl)
library(dplyr)

#Setze den Pfad
setwd("/home/franziska/r-Daten/RSME")

#lade beide Raster
AVHRR <- raster("AVHRR_NDVI.tif")
Landsat <- raster("Landsat_NDVI.tif")`

# diese Funktion soll den RMSE bestimmen
rmse <- function(error)
{
sqrt(mean(error^2))
}

# diese Funktion gibt den absoluten Fehler zurück
mae <- function(error)
{
mean(abs(error))
}

# Weiße die Raster den Variablen zu
actual <- c(Landsat)
predicted <- c(AVHRR)

# Berechne den Fehler
error <- actual - predicted

# Ausgabe der Zwischenberechnungen
rmse(error)
mae(error)


lm.D9 <- lm(Landsat ~ AVHRR)
rmse(lm.D9$residuals) # RSME

最佳答案

这是带有一些示例数据的简化代码(这是您应该在此处提出问题的方式)。

library(raster)
f <- system.file("external/rlogo.grd", package="raster")
Landsat <- raster(f, 1)
AVHRR <- raster(f, 3)

error <- Landsat - AVHRR
#You can do
#[1] 25.52578
#mae <- mean(abs(values(error)))
#mae
#[1] 15.28597

但是内存安全的方法是
cellStats(error, "rms")
#[1] 25.52742
cellStats(abs(error), "mean")
#[1] 15.28597

请注意,我返回的是一个“全局”值,而您的函数将返回一个栅格---暗示您可能需要“本地”错误统计信息。但这仅在您具有多层栅格数据时才有意义。在您的示例中,您没有这样做;但请参见下面的本地示例。

那是什么导致您的错误呢?你做
#actual <- c(Landsat)
#predicted <- c(AVHRR)
#error <- actual - predicted

或与我们的示例数据
error <- c(Landsat) - c(AVHRR)
#Error in c(Landsat) - c(AVHRR) : non-numeric argument to binary operator

这是因为 c(Landsat)创建了 list,并且您不能减去两个列表。
class(c(Landsat))
#[1] "list"

你可以做
error <- c(Landsat)[[1]] - c(AVHRR)[[1]]

(但是你为什么会)

如果需要“本地”值,则可以执行以下操作:
library(raster)
f <- system.file("external/rlogo.grd", package="raster")
Landsat <- stack(f)
AVHRR <- Landsat[[3:1]]
error <- Landsat - AVHRR

mae <- mean(abs(error))
plot(mae)

关于image - RMSE Landsat8 AVHRR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54922767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com