r - 计算每个日期的单元格数量

标签 r dataframe sorting date

我有一个按日期列出的酒店客房可用性数据库。每天都有一些酒店有空房(可用性 = T),有些则没有(可用性 = F)。 我正在寻找一种方法来计算每个日期的正确和错误的数量。 最初,数据框如下所示:

Room ID   Date    Availablity 
112      1/1/19       T
112      2/1/19       F
112      3/1/19       F
113      1/1/19       F
113      2/1/19       T
114      1/1/19       T

我想计算每个日期具有 True 和 False 值的次数,然后绘制一年中每个数据的占用率图。 也就是说,一个 datefarme 看起来像这样:

Date     num of Ts    num of Fs
1/1/19      #             #
2/1/19      #             #
3/1/19      #             #

感谢您的帮助!

最佳答案

我们可以在对“日期”和“可用性”列进行子集化后使用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))

关于r - 计算每个日期的单元格数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59794719/

相关文章:

r - 聚合 sqldf 查询的普通 R 等效项是什么?

python - 将列移动为 pandas 数据框中的数据

javascript `localeCompare` 返回不同的值

R:是否可以在同一列中使用 mutate+lag?

r - 使用 .SDcols 对 r 中的 data.table 中的列值求和

r - 记录错误消息并将其写入数据框

python - 如何选择限制列数据框的数量? PYTHON

python - 从 Dataframe 中选择行并包含另一列 python

Java - 二维整数数组的多级排序

python - python 中的插入排序?