私は akima::bilinear 関数を使用していますが、一般的にうまく機能しています。ただし、一部のユース ケースでは、補間グリッドは 1 行のみで複数の列になります。if ステートメントを使用して代わりに approx() 関数を使用できることはわかっていますが、それがなくてもコードはきれいで、なぜこれが機能しないのかわかりません。何が失敗したかの再現可能な例:
x <- c(-1, -0.5, 0, 0.8, 1.5, 2.4, 4.3)
y <- 0
z <- matrix(c(1,2,3,4,5,6,7), nrow = 1)
akima::bilinear(x,
y,
z,
x0 = c(1,2),
y0 = c(1,2))
私が得るエラーは次のとおりです。
Browse[2]> akima::bilinear(x, y, z, x0 = c(1,2), y0 = c(1,2)) Error in akima::bilinear(x, y, z, x0 = c(1, 2), y0 = c(1, 2)) : dim(z)[1] and length of x differs!