Использование фрейма данных для фильтрации фрейма данных - purrr :: map и dplyr :: filter? - PullRequest
0 голосов
/ 12 марта 2020

У меня есть фрейм данных с набором параметров (params). Я бы хотел отфильтровать фрейм данных с данными в (df), создав тем самым несколько подмножеств df.

My Запросы находятся в:

params <- expand.grid(category = c("Big","Small"),
                      Year = c(2017,2018,2019),
                      Month = c("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")) 

Мой фрейм данных:

df <- data.frame(category =c("Foo", "Bah", "Foo", "Foo", "Bah", "Bah", "Bah", "Foo", "Foo", "Bah"),
                 year = c(2017, 2018, 2017, 2018, 2019, 2019, 2018, 2018, 2017, 2019),
                 month =c("Jan","Feb","Feb","Jan","Nov","Apr","Nov","Jan","May","May"))

Интересно, можно ли это сделать с помощью purrr::map2, но я вижу, что это работает только на векторах?

1 Ответ

3 голосов
/ 12 марта 2020

Ты имеешь в виду что-то подобное?

purrr::pmap(params, ~dplyr::filter(df,category == ..1, year == ..2, month == ..3))

, который в базе R может быть записан с Map

Map(function(x, y, z) subset(df, category == x & year == y & month == z), 
                      params$category, params$Year, params$Month)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...