Фильтрация отдельных дат в R, dplyr - PullRequest
0 голосов
/ 28 июня 2018

У меня большой набор данных с данными за 60 лет, и я пытаюсь делать ежедневные расчеты для столбца уровня воды в наборе данных, который содержит ежедневные уровни воды в разных местах. Чтобы сделать это, я думаю, мне нужно отфильтровать каждую дату отдельно, что занимает очень много времени. Есть ли более быстрый способ сделать это? Я думал о написании функции, но даже с этим мне все равно придется вводить отдельные даты (я думаю?).

Вот голова и хвост моих данных:

X Date Water.Level..cm. Lat Long 1 1 1977-11-01 NA -12.80861 -48.24028 2 2 1977-11-02 NA -12.80861 -48.24028 3 3 1977-11-03 NA -12.80861 -48.24028 4 4 1977-11-04 NA -12.80861 -48.24028 5 5 1977-11-05 NA -12.80861 -48.24028 6 6 1977-11-06 NA -12.80861 -48.24028 350719 350719 1938-01-26 635 -5.533333 -47.48333 350720 350720 1938-01-27 667 -5.533333 -47.48333 350721 350721 1938-01-28 710 -5.533333 -47.48333 350722 350722 1938-01-29 717 -5.533333 -47.48333 350723 350723 1938-01-30 721 -5.533333 -47.48333 350724 350724 1938-01-31 690 -5.533333 -47.48333

И вот что у меня сейчас есть: nov1 <- dat %>% filter(Date == as.Date("1989-11-01"))

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

X Date Water.Level..cm. Lat Long 1 4384 1989-11-01 711 -12.80861 -48.24028 2 10684 1989-11-01 NA -12.47056 -48.21139 3 10929 1989-11-01 240 -12.44722 -48.26806 4 15373 1989-11-01 275 -12.35500 -48.25889 5 37414 1989-11-01 246 -12.30444 -48.26222 6 51326 1989-11-01 240 -12.26194 -48.32917

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Если вы хотите, чтобы разные фреймы данных содержали всю информацию во фрейме основных данных для каждой отдельной даты, вы можете использовать функцию split ().

df_list <- split(dat, as.factor(dat$Date))
0 голосов
/ 28 июня 2018

Используйте group_by() и summarise()

Вы ищете способ суммировать ваши данные с коэффициентом, в данном случае Date.

data %>% group_by(Date) %>% summarise(mean = mean(Water.Level..cm.))

Возвращает таблицу сгруппированных резюме. См. эту ссылку для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...