MikiBelavista
MikiBelavista

Reputation: 2758

Why does interp function give me error?

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)

But it gives:

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

Let's check: is.na(x), is.na(y), is.na(z) all are FALSE

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

What should I change?

Upvotes: 3

Views: 4551

Answers (1)

MrFlick
MrFlick

Reputation: 206566

The problem is that z is a data.frame and interp expects a numeric vector. Try using

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

Upvotes: 7

Related Questions