Заполнение пропущенных значений GPS в R - PullRequest
4 голосов
/ 02 декабря 2011

Я смотрю на данные с устройства, которое проводит большую часть своего времени под водой.Когда он выходит на поверхность, он получает исправление GPS (широта и долгота), а затем опускается (теряет свое исправление GPS) и продолжает сбор данных снова до следующего всплытия.Это приводит к большому количеству значений NA в данных для значений широт, и они не совпадают с показаниями подводных данных.

Я хотел бы создать график занавесов данных, но я будунужны некоторые интерполированные значения широты / долготы, чтобы составить приблизительный график данных о недрах для трехмерной карты.

Как я могу заполнить некоторые линейно интерполированные значения для множества NA, которые происходят между GPS-фиксациями в R?Они представлены в числовом формате DD.DDDDD.

Пример данных можно найти по адресу: http://modata.ceoe.udel.edu/public/gps_example_data.csv

1 Ответ

4 голосов
/ 02 декабря 2011

na.approx() в пакете zoo делает именно то, что вы ищете.

С вашими данными сделайте что-то вроде:

df <- read.csv("http://modata.ceoe.udel.edu/public/gps_example_data.csv", 
               header=T)

library(zoo)

df2 <- 
transform(df, 
    m_gps_lat_dec = na.approx(m_gps_lat_dec, m_present_time, na.rm=FALSE),
    m_gps_lon_dec = na.approx(m_gps_lon_dec, m_present_time, na.rm=FALSE))

См. Также этоПост StackOverflow , который включает в себя хороший проработанный пример (и несколько полезных комментариев от автора пакета zoo для загрузки).

...