Получение медианы по дате с помощью summarize () dplyr в R

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

data.bydate <- group_by(data.raw, date)

Когда я использую summarize () для нахождения медианы для каждой группы дат, все, что я получаю, - это набор нулей. В данных есть NA, поэтому я удалил их с помощью na.rm = TRUE.

data.median <- summarise(data.bydate, median = median(count, na.rm = TRUE)

Есть ли другой способ сделать это?


person Chisanamono    schedule 09.06.2015    source источник
comment
Рекомендуется предоставить воспроизводимые данные.   -  person cdeterman    schedule 09.06.2015
comment
Без воспроизводимого примера мы не можем быть уверены, в чем проблема. Что касается кода, он выглядит нормально. «Если у вас есть только 0 и NA, то вы можете получить кучу нулей.   -  person akrun    schedule 09.06.2015


Ответы (2)


Вы можете сделать что-то вроде,

data.raw %>% group_by(date) %>% summarise(median = median(count, na.rm = TRUE))
person Max Candocia    schedule 09.06.2015

Возможно, в каждой группе слишком много нулевых значений. Попробуйте определить количество уникальных значений в каждой группе, чтобы проверить, не слишком ли много нулей в группах. Приведенный ниже код может помочь увидеть количество уникальных значений и общих значений, доступных для переменной count в каждой группе.

summarise(data.bydate, unique_code = n_distinct(count), total_count = n(count))
person soni    schedule 23.07.2019