n <- akima :: interp(
            x, y, z, xo = seq(min(x), max(x), length = 100),
            yo = seq(min(y), max(y), length = 100),
            linear = TRUE, extrap = FALSE,
            duplicate = "error", dupfun = NULL,
            ncp = NULL)

但它给出:
Error in interp.old(x, y, z, xo = xo, yo = yo, ncp = 0, extrap = extrap,  :
missing values and Infs not allowed

让我们检查:is.na(x), is.na(y), is.na(z) 都是假的
str(x)
num [1:1398] 1.62 1.62 1.62 1.62 1.63 1.63 1.63 1.63 1.63 1.63 ...

str(y)
num [1:1398] 2993 2998 3001 3005 2993 ...

str(z)
'data.frame':   1398 obs. of  1 variable:
$ V1: num  1 1 1 1 1 1 1 3 1 1 ...

我应该改变什么?

最佳答案

问题是 z 是一个 data.frame 而 interp 需要一个数字向量。尝试使用

n <- akima::interp(x, y, z$V1, ...)

关于r - 为什么 interp 函数给我错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23877711/

10-12 19:16