Как сделать ссылку на следующую строку, используя R, без зацикливания? - PullRequest
1 голос
/ 21 марта 2012

Я играю с RGooglemaps и могу наносить линии на карту.Я загрузил свои латы и лонги из CSV в объект координаты .

Я хотел указать направление, используя: PlotArrowsOnStaticMap

, определенный как:

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

Я определяю lat0 как что-то вроде ords [, 'lat'].Как мне дать лат1 ?

Значение - следующая строка в файле - но как мне описать это относительно?( ords [+ 1, 'lat'] в псевдокоде.

Есть ли какое-то базовое чтение, которое я должен делать?

Ответы [ 2 ]

4 голосов
/ 21 марта 2012

Обходной обходной путь заключается в создании новых столбцов для широты и долготы, которые смещены на одну строку вверх по сравнению с начальными строками.Значение первой строки переносится вниз (или заменяется на NA, если это не имеет смысла).

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

Теперь у вас есть два столбца для lat (lat и lat1) и два столбца для long(lon, lon1).

с (ords, PlotArrowsOnStaticMap (lat0 = lat, lon0 = lon, lat1 = lat1, lon1 = lon1 ...)

1 голос
/ 21 марта 2012

Некоторые из функций, обычно используемых для этого, включают 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
...