Мы можем использовать table
после поднабора столбцов «Дата» и «Доступность». Он получит счетчик FALSE/TRUE
из «Доступности» для каждого уникального «Дата»
table(df1[-1])
Или в формате tbl_df/data.frame
library(dplyr)
library(tidyr)
df1 %>%
count(Date, Availablity) %>%
pivot_wider(names_from = Availablity, values_from = n, values_fill = list(n = 0))
, который аналогичен до
df1 %>%
group_by(Date) %>%
summarise(num_of_false = sum(!Availablity), num_of_true = sum(Availablity))
данные
df1 <- structure(list(RoomID = c(112L, 112L, 112L, 113L, 113L, 114L),
Date = c("1/1/19", "2/1/19", "3/1/19", "1/1/19", "2/1/19",
"1/1/19"), Availablity = c(TRUE, FALSE, FALSE, FALSE, TRUE,
TRUE)), class = "data.frame", row.names = c(NA, -6L))