Объединение наборов данных временных рядов (пересмотрено) - PullRequest
0 голосов
/ 01 мая 2020

У меня есть два фрейма данных в R, которые мне нужно объединить определенным образом c.

Первый фрейм данных описывает домохозяйства (hhid_df), их пространственное расположение в сетке (near_match_id) и дата 2010 года, когда они сажают свои культуры (дата)

      hhid_df       date                   geometry nearest_match_id
1 1.01014e+14 2010-11-11 POINT (35.85439 -5.085751)            18639
2 1.01014e+14 2010-11-11 POINT (35.85439 -5.085751)            18639
3 1.01014e+14 2010-11-11 POINT (35.85439 -5.085751)            18639
4 1.01014e+14 2010-11-05 POINT (39.26984 -6.857325)           207066
5 1.01014e+14 2010-11-11 POINT (35.85439 -5.085751)            18639
6 1.01014e+14 2010-11-11 POINT (35.85439 -5.085751)            18639

Во втором кадре данных описываются осадки и температура с ежедневными средними значениями каждый день с 2007-01-01 по 2010-12-31. У него также есть переменная near_match_id, которая определяет свое местоположение в той же сетке, что и вышеуказанный набор данных

       date     temp         prec           geometry nearest_match_id
30 20070101 295.8809 1.472303e-04     POINT (35 -11)                1
31 20070101 296.0701 1.279159e-04 POINT (35.625 -11)                2
32 20070101 296.7029 1.168946e-04  POINT (36.25 -11)                3
33 20070101 296.8243 1.196054e-04 POINT (36.875 -11)                4
34 20070101 298.1508 1.083470e-04   POINT (37.5 -11)                5
35 20070101 298.4786 7.027946e-05 POINT (38.125 -11)                6

ЗДЕСЬ БОЛЬШАЯ ЦЕЛЬ (концептуально):

Мне нужно построить индекс для каждое домохозяйство, для которого требуются данные о среднемесячной температуре и количестве осадков за пять месяцев после даты посадки в 2007, 2008 и 2009 годах. Я предполагаю, что они сажают в одну и ту же дату каждый из этих лет, как в 2010 году. Например, если человек был опрошен 15 мая 2010 г., мне нужны месячные средние значения температуры и количества осадков по 16 мая-15 июня, 16 июня-15 июля, 15 августа-15 августа и 15 сентября-15 сентября 2007, 2009 и 2009 гг. Таким образом, конечное назначение - эти 30 значений для каждого домохозяйства (2 показателя погоды * 3 года * 5 месяцев = 30 значений).

ЗДЕСЬ, ГДЕ МОЖЕТСЯ (технически):

Мне нужно объединить эти наборы данных так, чтобы каждое домохозяйство имело данные о погоде для их значения в пространственной сетке и очень важно, чтобы R все еще понимал данные каждого наблюдения, чтобы я мог в конечном итоге создать правильно рассчитанный индекс для каждого домохозяйства.

Таким образом, конечный продукт может быть таким, в котором каждое домохозяйство имеет переменную для каждой даты, и каждое из них содержит наблюдение за осадками и температурой:

Таким образом, конечный продукт может быть там, где у каждого домохозяйства есть переменная для каждой даты, и каждая из них содержит наблюдение за осадками и температурой:

> head(theGOAL)
  hhid lat lon date of survey  20070101      20070102 ~1000 more days
1    0   0   0              0 rainy/hot cloudy/hotter               0

ИЛИ, возможно, должна быть переменная, обозначающая температуру и осадки отдельно:

> head(theGOAL)
  hhid lat lon date of survey 20070101(precip) 20070101(temp) ~1000 more days
1    0   0   0              0            rainy            hot               0

^^^ Вы можете игнорировать переменные lat и lon, приведенные выше, они не нужны

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

Любые рекомендации будут чрезвычайно полезны !!!

...