1

我的数据集包括 17 个站点,每个站点都有 24 小时的温度值。我想在每个小时内映射每个站点的值,并且在所有时间都这样做。我想做的是类似于图像的东西。

在此处输入图像描述

数据格式如下:

     N2     N3     N4    N5     N7     N8    N10    N12   N13    N14   N17   N19    N25    N28   N29    N31    N32
1 1.300 -0.170 -0.344 2.138  0.684  0.656  0.882  0.684 1.822  1.214 2.046 2.432  0.208  0.312 0.530  0.358  0.264
2 0.888 -0.534 -0.684 1.442 -0.178 -0.060  0.430 -0.148 1.420  0.286 1.444 2.138 -0.264 -0.042 0.398 -0.196 -0.148
3 0.792 -0.564 -0.622 0.998 -0.320  1.858 -0.036 -0.118 1.476  0.110 0.964 2.048 -0.480 -0.434 0.040 -0.538 -0.322
4 0.324 -1.022 -1.128 1.380 -0.792  1.042 -0.054 -0.158 1.518 -0.102 1.354 2.386 -0.708 -0.510 0.258 -0.696 -0.566
5 0.650 -0.774 -0.982 1.124 -0.540  3.200 -0.052 -0.258 1.452  0.028 1.022 2.110 -0.714 -0.646 0.266 -0.768 -0.532
6 0.670 -0.660 -0.844 1.248 -0.550  2.868 -0.098 -0.240 1.380 -0.012 1.164 2.324 -0.498 -0.474 0.860 -0.588 -0.324
  MeteoSwiss
1       -0.6
2       -1.2
3       -1.0
4       -0.8
5       -0.4
6       -0.2

其中 N2, N3, ...m MeteoSwiss 是气象站,每行显示该站每小时的温度值。

id  Longitude   Latitude
2   7.1735          45.86880001
3   7.17254         45.86887001
4   7.171636    45.86923601
5   7.18018         45.87158001
7   7.177229    45.86923001
8   7.17524         45.86808001
10  7.179299    45.87020001
12  7.175189    45.86974001
13  7.179379    45.87081001
14  7.175509    45.86932001
17  7.18099  45.87262001
19  7.18122  45.87355001
25  7.15497  45.87058001
28  7.153399 45.86954001
29  7.152649 45.86992001
31  7.154419 45.87004001
32  7.156099 45.86983001
MeteoSwiss  7.184    45.896
4

1 回答 1

4

我定义了一个或多或少类似于您的数据的玩具示例:

vals <- matrix(rnorm(24*17), nrow=24)
cds <- data.frame(id=paste0('N', 1:17),
                  Longitude=rnorm(n=17, mean=7.1),
                  Latitude=rnorm(n=17, mean=45.8))
vals <- as.data.frame(t(vals))
names(vals) <- paste0('H', 1:24)

sp包定义了几个类和方法来存储和显示空间数据。对于您的示例,您应该使用 SpatialPointsDataFrame该类:

library(sp)

mySP <- SpatialPointsDataFrame(coords=cds[,-1], data=data.frame(vals))

以及spplot显示信息的方法:

spplot(mySP, as.table=TRUE,
       col.regions=bpy.colors(10),
       alpha=0.8, edge.col='black')

spplot.points

此外,您可能会发现该spacetime包很有用(JSS 上的论文)。

于 2013-04-06T20:50:32.673 回答