Нам может потребоваться преобразовать класс 'Time' в класс Datetime
, извлечь month
, использовать его в качестве переменной группировки и summarise
, чтобы получить mean
логического vector
library(lubridate)
library(dplyr)
df1 %>%
group_by(month = month(ymd_hm(Time))) %>%
summarise(Ratio = mean(Emotion == 'Positive'))
Если это год и месяц, замените group_by
на «год», «месяц» с помощью format
или strftime
df1 %>%
group_by(yearmonth = format(ymd_hm(Time), "%Y-%m")) %>%
summarise(Ratio = mean(Emotion == "Positive"))