为什么interp函数会给我错误?

时间:2014-05-26 21:04:20

标签: r interpolation

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 ...

我应该改变什么?

1 个答案:

答案 0 :(得分:7)

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

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