1

私は RGooglemaps で遊んでいて、地図上に線を引くことができました。緯度と経度を csv からcoordsオブジェクトにロードしました。

次を使用して方向を暗示したかった: PlotArrowsOnStaticMap

次のように定義されます。

    PlotArrowsOnStaticMap(MyMap, lat0, lon0, lat1 = lat0, lon1 = lon0, TrueProj = TRUE, FUN = arrows, add = FALSE, verbose = 1,...)

lat0をcoords [,'lat'] のようなものとして定義します。lat1を指定するにはどうすればよいですか?

値はファイルの次の行ですが、それを相対的に説明するにはどうすればよいでしょうか? (擬似コードで [+1,'lat'] を調整します

私がすべき基本的な読書はありますか?

4

2 に答える 2

4

洗練されていない回避策は、緯度と経度の新しい列を作成し、最初の行と比較して 1 行分シフトすることです。最初の行の値は下に折り返されます (または、これが意味をなさない場合は NA に置き換えられます)。

coords$lat.1<-coords$lat[c(2:length(coords$lat), 1)]
coords$lon.1<-coords$lon[c(2:length(coords$lon), 1)]

これで、lat 用の 2 つの列 (lat と lat1) と long 用の 2 つの列 (lon、lon1) ができました。

with(coords, PlotArrowsOnStaticMap(lat0=lat, lon0=lon, lat1=lat1, lon1=lon1...)

于 2012-03-21T11:01:04.917 に答える
1

これを行うために一般的に使用される関数にはhead、 、tail、およびが含まれembedます。

> tmp <- 1:10
> cbind( head(tmp,-1), tail(tmp,-1) )
      [,1] [,2]
 [1,]    1    2
 [2,]    2    3
 [3,]    3    4
 [4,]    4    5
 [5,]    5    6
 [6,]    6    7
 [7,]    7    8
 [8,]    8    9
 [9,]    9   10
> embed(tmp, 2)
      [,1] [,2]
 [1,]    2    1
 [2,]    3    2
 [3,]    4    3
 [4,]    5    4
 [5,]    6    5
 [6,]    7    6
 [7,]    8    7
 [8,]    9    8
 [9,]   10    9
于 2012-03-21T15:55:07.503 に答える