Я хотел бы обобщить таблицу с помощью dplyr.
Вот как бы я хотел продолжить:
- У меня есть data.frame, как это:
year region week site species gps_clutch
2017 sud 18 6 au 337
2017 sud 20 10 au 352
2017 sud 22 10 au 352
2017 sud 24 10 au 352
2017 sud 18 6 aio 337
2017 sud 20 6 aio 352
2017 sud 22 6 au 352
2018 sud 20 6 au 337
2018 sud 20 10 au 352
2018 sud 22 10 au 352
2018 sud 22 10 aio 352
2018 sud 22 6 au 352
2017 nor 19 5 au 337
2017 nor 21 2 au 352
2017 nor 23 5 au 352
2017 nor 25 2 au 352
2017 nor 19 5 aio 337
2017 nor 25 5 aio 352
2017 nor 19 5 au 337
2018 nor 21 2 aio 352
2018 nor 23 5 aio 352
2018 nor 25 2 au 352
2018 nor 23 5 aio 337
2018 nor 23 5 au 352
- Я бы хотел посчитать количество «gps_clutch» для каждого года, региона, сайта, недели и расширить это на все возможные недели, зарегистрированные для каждого региона. Объясняю: в области «sud» я выбрал недели 18, 20, 22, 24, а в области «nor» недели 19, 21, 23, 25. Я хотел бы преобразовать неявные пропущенные значения в «0», но только для недели (вложенные в регионы), которые были отобраны. Я не хочу расширяться таким образом, чтобы получить строку для 19-й недели в регионе "sud", потому что этот регион не был выбран на этой конкретной неделе.
этот код хорошо работает для расширения сетки, как я хотел бы:
dat %>%
group_by(region) %>%
expand(year,site, species,week)
следующий код также работает, чтобы получить значения счетчика, но не расширяет сетку, как я хочу (я получаю только список недель, в течение которых я наблюдал что-то для каждого года, а не общее количество недель, отобранных для обоих года). Это означает, что если в «sud» «2017» у меня есть записи только для недель 20 и 22, сетка не будет расширена до недель 18 и 24:
field_subsetnord %>%
group_by(year,region,site,species,week) %>%
summarise(count_clutch=length(gps_clutch)) %>%
complete(week,nesting(year,sites,species), fill = list(count_clutch = 0))
вот таблицу, которую я хотел бы получить в конце:
year region week site species count
2017 sud 18 6 au 1
2017 sud 20 6 au 0
2017 sud 22 6 au 1
2017 sud 24 6 au 0
2017 sud 18 6 aio 1
2017 sud 20 6 aio 1
2017 sud 22 6 aio 0
2017 sud 24 6 aio 0
2017 sud 18 10 au 0
2017 sud 20 10 au 1
2017 sud 22 10 au 1
2017 sud 24 10 au 1
2017 sud 18 10 aio 0
2017 sud 20 10 aio 0
2017 sud 22 10 aio 0
2017 sud 24 10 aio 0
2018 sud 18 6 au 0
2018 sud 20 6 au 1
2018 sud 22 6 au 1
2018 sud 24 6 au 0
2018 sud 18 6 aio 0
2018 sud 20 6 aio 0
2018 sud 22 6 aio 0
2018 sud 24 6 aio 0
2018 sud 18 10 au 0
2018 sud 20 10 au 1
2018 sud 22 10 au 1
2018 sud 24 10 au 0
2018 sud 18 10 aio 0
2018 sud 20 10 aio 0
2018 sud 22 10 aio 1
2018 sud 24 10 aio 0
and so on for 2018...
Будем благодарны за любые предложения по смешению этих двух кодов:)