【问题标题】:how to create a space-wide data frame in R如何在 R 中创建空间范围的数据框
【发布时间】:2014-02-11 12:33:02
【问题描述】:

我有时空数据: 425天每天测量36个测量站。 我想在 R 中对这些数据进行一些分析,所以我只是从数据中创建了一个数据框,如下所示:

对于 X10004、X10007、...的每个站点,我都有纬度/经度值,但我不知道如何将这些信息正确添加到数据框中,以便使用 R 的可用分析工具。

怎么做?或者我应该使用 R 的其他数据结构可能性以及如何使用?

【问题讨论】:

  • 您的问题不够具体。告诉我们你想做的具体分析。不同的分析需要不同的结构。另外,不要粘贴您的data.frame 的图像,而是尝试使用head(dput(tempdata)) 并将其粘贴,以便我们可以轻松地重新创建您的data.frame

标签: r spatial-data-frame


【解决方案1】:

您需要将数据融合为长格式,然后合并。完成后,您可以使用ddply/data.table/ggplot 等。

library(reshape2)
res <- merge(
  melt(df, id.vars="date"), 
  lat.lon, 
  by.x="variable", by.y="loc.name"
)
head(res)
#   variable       date value       lat      lon 
# 1       V1 2013-01-01     4 0.6193299 0.815607
# 2       V1 2013-01-02     5 0.6193299 0.815607
# 3       V1 2013-01-03     2 0.6193299 0.815607
# 4       V1 2013-01-04     3 0.6193299 0.815607
# 5       V1 2013-01-05    10 0.6193299 0.815607
# 6       V1 2013-01-06     7 0.6193299 0.815607

在这种情况下,将variable 视为您数据中的站点。这是我创建的虚拟数据:

df <- cbind(
  data.frame(seq(as.Date("2013-01-01"), by="+1 day", length.out=10)), 
  as.data.frame(replicate(10, sample(1:10)))
)
names(df) <- c("date", paste0("V", 1:10))
head(df)
#         date V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
# 1 2013-01-01  4  9  5 10  8  5  7  9  1   1
# 2 2013-01-02  5 10  4  6  6  8  4  6  7  10
# 3 2013-01-03  2  8  1  5  5  3 10  4  9   4
# 4 2013-01-04  3  3 10  4  3  7  9  7  5   5
# 5 2013-01-05 10  6  9  7 10 10  5  5  3   6
# 6 2013-01-06  7  2  2  9  4  2  2  8  8   3
lat.lon <- data.frame(loc.name=paste0("V", 1:10), lat=runif(10), lon=runif(10))
head(lat.lon)
#   loc.name       lat       lon
# 1       V1 0.6193299 0.8156070
# 2       V2 0.3656795 0.9293682
# 3       V3 0.7073155 0.1494767
# 4       V4 0.6715280 0.9029310
# 5       V5 0.3588971 0.2281054
# 6       V6 0.7231073 0.2840767

【讨论】:

  • 谢谢你。我现在做了那个数据框。您能告诉我现在如何进行克里金等时空插值方法吗?
  • @MojioMS,我认为这变成了另一个问题,实际上最好将其发布在统计数据特定站点上,尽管您可以在这里尝试。您必须提供有关您正在尝试执行的操作以及预期输出的更多详细信息。
猜你喜欢
  • 1970-01-01
  • 2012-08-20
  • 2022-10-06
  • 2014-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多