Избыточные даты во временных рядах
Я устанавливаю временной ряд из фрейма данных ("TotalGuirvidig"), в котором у меня есть 3 основных интересующих столбца: "Дата", "Животные", и третий созданный мной столбец под названием "Daily_Animals", сумма всех животное считается в тот же день. Я создал "Daily_Animals" unsing
TotalGuirvidig <- Guirvidig %>% group_by(Date) %>% mutate(Daily_Animals = sum(Animals))
Отлично, но допустим, что дата 07-11-2017, и мы наблюдали 40, 23 и 17 животных. Теперь в столбце Daily_Animals мы получаем сумму 80 3 раза, по одному разу для каждого исходного наблюдения.
Сначала я не особо задумывался об этом, но когда я сдвигаю фрейм данных во временной ряд
GTS <- zoo(TotalGuirvidig$Daily_Animals, order.by=as.Date(TotalGuirvidig$Date, format='%Y/%m/%d'))
ts(GTS)
Я заметил, что даты с несколькими наблюдениями отображаются несколько раз в одну и ту же дату, потому что каждое наблюдение в одну и ту же дату имеет одинаковую сумму Daily_Animal.
Я планирую сделать некоторые прогнозы, и я обеспокоен тем, что эти повторения ежедневных сумм сбрасывают мои прогнозы. Можно ли каким-то образом заставить R игнорировать повторяющиеся суммы в одну и ту же дату при установлении моего временного ряда?
Изменить: вот пример фрейма данных
Year Week Date Location Animals From To Notes Daily_Animals
<int> <int> <date> <chr> <int> <chr> <chr> <chr> <int>
1 2010 31 2010-08-01 GUIRVIDIG 580 Bongor – Tchad BANKI NIGERIA RAS 580
2 2010 32 2010-08-08 GUIRVIDIG 780 Glenden Tchad BANKI NIGERIA RAS 780
3 2010 33 NA GUIRVIDIG NA <NA> <NA> <NA> NA
4 2010 34 2010-08-22 GUIRVIDIG 680 Bongor – Tchad BANKI NIGERIA 2 voles 680
5 2010 34 2010-08-23 GUIRVIDIG 880 Glenden Tchad BANKI NIGERIA RAS 880
6 2010 35 2010-08-29 GUIRVIDIG 495 Bongor – Tchad BANKI NIGERIA RAS 495
7 2010 35 2010-08-30 GUIRVIDIG 506 Glenden Tchad BANKI NIGERIA 1 malades 506
8 2010 36 2010-09-06 GUIRVIDIG 262 kijabe-tchad BANKI NIGERIA RAS 262
9 2010 37 2010-09-13 GUIRVIDIG 70 Glenden Tchad BANKI NIGERIA RAS 70
10 2010 38 NA GUIRVIDIG NA <NA> <NA> <NA> NA
# ... with 484 more rows
Edit2: ниже приведен пример, который фактически демонстрирует, как пишется новый столбец
Year Week Date Location Animals From To Notes Daily_Animals
<int> <int> <date> <chr> <int> <chr> <chr> <chr> <int>
1 2010 31 2010-08-01 GUIRVIDIG 40 Bongor – Tchad BANKI NIGERIA RAS 80
2 2010 32 2010-08-01 GUIRVIDIG 23 Glenden Tchad BANKI NIGERIA RAS 80
3 2010 34 2010-08-21 GUIRVIDIG 17 Bongor – Tchad BANKI NIGERIA 2 voles 80
1 ответ
Если вы не хотите сохранять строку для каждого отдельного числа животных, то, возможно, вы захотите использовать dplyr::sumrize вместо mutate, поскольку mutate просто добавит столбец, но сохранит все строки?
?summarise
TotalGuirvidig <- Guirvidig %>% group_by(Date) %>% summarise(Daily_Animals = sum(Animals))
Или вы можете использовать dplyr:: Different после mutate и выбрать, из каких столбцов вы хотите сохранить разные значения.
?distinct
TotalGuirvidig <- Guirvidig %>% group_by(Date) %>% mutate(Daily_Animals = sum(Animals)) %>%
distinct(Date, .keep_all = TRUE)
Немного трудно понять, что именно лучше, так как в данных вашего примера нет дублированных Daily_Animals, поэтому, если вышеприведенное не сработает, возможно, покажите раздел с дубликатами и желаемым выводом?