Вопросы

Подмножество данных по окну временного интервала для каждой строки в кадре данных после использования group_by ()

У меня есть данные временного ряда с тремя столбцами: столбец значений, столбец group_var (используется для группировки) и столбец даты. Для каждой строки в кадре данных я хотел бы получить среднее значение для этой группы строк после дальнейшего разбиения на определенные временные рамки. Вот пример кода для подмножества:

df$value[df$date >= (current_row$date - 545) & df$date <= (current_row$date - 365)]

После того, как я получу это подмножество, я могу легко применить mean (), но где я застрял, так это то, как я могу заставить этот код работать с чем-то вроде этого:

df %>%
    group_by(group_var) %>%
      mutate(subset_mean = mean(df$value[df$date >= (current_row$date - 545) & df$date <= (current_row$date - 365)])
)

Проблема, которую я вижу, заключается в том, что я не думаю, что могу использовать df внутри строки mutate () после того, как сгруппирую исходный df. Также я не уверен, как я могу создать переменную current_row для ссылки на текущую строку для вычисления подмножества данных.

Изменить: добавлены данные примера и воспроизводимый код

library(dplyr)
date <- c("2016-02-03", "2016-06-14", "2016-03-15", "2017-04-16","2016-01-27", "2016-01-13", "2017-04-24", "2017-06-15")
date <- date %>% as.Date(format = "%Y-%m-%d")
val <- c(10, 20, 50, 70, 30, 44, 67, 42)
group_var <- c("A", "B", "B", "A", "B", "A", "A", "B")

df <- data.frame(date, val, group_var)
 
df %>% 
  group_by(group_var)

Добавлен пример данных / входов   —  person rstats23    schedule 12.03.2021

Читать:
vscode lint игнорировать для вывода задачи (языки, которые не встроены в vscode - tasks.json / settings.json?)

Чтобы подтвердить, ищете ли вы среднее значение в окне, которое было между 545 и 365 днями ранее?   —  person rstats23    schedule 12.03.2021

Да, это временные рамки, для которых я хочу разбить данные. От 545 до 365 дней до собственной даты каждой строки. Могут быть некоторые строки, в которых их подмножество не будет иметь строк, в этом случае возвращаемое subset_mean должно быть Н / Д.   —  person rstats23    schedule 12.03.2021

Спасибо, я исправил это   —  person rstats23    schedule 12.03.2021

Добро пожаловать в StackOverflow, @ rstats23. Пожалуйста, подумайте о том, чтобы проголосовать за решения, которые работают для вас. Для решения, которое вы считаете наиболее привлекательным, также отметьте это решение как принятое, установив флажок. Спасибо!   —  person rstats23    schedule 13.03.2021

Похожие записи

Как исключить поля в модели DART с использованием другого класса и JsonKey?

admin

Шифрование на стороне сервера и шифрование на стороне клиента — Amazon S3

admin

Экспорт нескольких модулей из пакета NPM

admin

Как я могу проверить, есть ли значение, например имя существует в коллекции в любом из документов в Cloud Firestore?

admin

Подсистема Windows Linux explorer.exe

admin

В чем разница между развертыванием и публикацией в функции AWS Lambda?

admin