我是一位有用的助手,可以翻译您的文本。
我有一个非常大的数据集,包括经纬度和平均降水量(appt)。我想插值一些额外的数据点,以便创建选择州的平均降水量的ggplot
图。但我不确定如何插值数据。使用interp
函数的结果产生了NA
。
如何在给定经度/纬度时插值额外的数据点(约5,000 appt)?
为什么使用interp
函数时会得到NA
?
dput:
data <- structure(list(longitude = c(-91.40953, -90.30213, -89.26907,
-93.32515, -94.13632), latitude = c(33.403216, 34.505369, 32.438327,
36.283347, 39.28965), APPT = c(90.4899996121724, 50.4899996121724,
30.4899996121724, 70.4899996121724, 93.4899996121724)), .Names = c("longitude",
"latitude", "APPT"), row.names = c(NA, 5L), class = "data.frame")
当前代码:
library(akima)
sp_data <- interp(x = data$longitude,
y = data$latitude,
z = data$APPT)
dInterp <- data.frame(expand.grid(x = sp_data$x,
y = sp_data$y), z = c(sp_data$z))
Current Output : head(dInterp)
x y z
1 -94.13632 32.43833 NA
2 -94.01152 32.43833 NA
3 -93.88672 32.43833 NA
4 -93.76192 32.43833 NA
5 -93.63711 32.43833 NA
6 -93.51231 32.43833 NA
ggplot
绘制了图表; 请参见这里。 - Henrikinterp()
是我需要的函数。 - Veddainterp
只进行插值,因此网格上任何超出输入数据的点都将为 NA。要进行外推,请设置extrap=TRUE
。 - kdauria