【发布时间】:2015-01-24 18:56:35
【问题描述】:
我有一个非常大的数据集,其中包括经度/纬度和平均降水量 (appt)。我正在尝试插入一些额外的数据点,以创建所选州平均降水量的ggplot。但是,我不确定如何准确地插入数据。 interp 函数的结果是产生NAs。
在给定经度/纬度的情况下,我将如何插入额外的数据点(~5,000 appt)?
为什么我在使用interp 函数时得到NAs?
输入:
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))
电流输出: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
【问题讨论】:
-
我不确定你到底要问什么,但我曾经用类似的输入数据(经度、纬度、雨)回答了另一个问题,即
interpolated,然后用@绘制987654332@;见here -
@Henrik 感谢您的帖子。我检查了它并能够得到一个等高线图。我想要做的只是向我的数据集添加额外的值,这样当我在地图上绘制它们时,它会填补很多漏洞......我认为
interp()是我需要的。 -
interp仅进行插值,因此输入数据之外的网格上的任何点都是 NA。要进行外推,请设置extrap=TRUE。
标签: r ggplot2 geospatial interpolation