我正在尝试创建一个用于房间的热图框架。
| ID|房间|天|开始|完成|
| --|--|--|--|--|
| 1 |室A| Mon|九点整|十一点整|
| 2 |室A| Tue|九点整|十点整|
| 3 |室A| Mon|十点整|14点半|
| 4 |B室|Wed|九点整|十一点整|
df <- data.frame(id = c(1:4),
room = c("room a", "room a", "room a", "room b"),
day = c("Mon", "Tue", "Mon", "Wed"),
start = c("09:00", "09:00", "10:00", "09:00"),
end = c("11:00", "10:00", "14:30", "11:00"))
字符串
我可以把它转换成热图,比如:
| 房间|天| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| --|--|--|--|--|--|--|--|--|--|--|
| 室A| Mon| 1 | 2 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
| 室A| Tue| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 室A| Wed| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 室A| Thu| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 室A| Fri| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| B室|Mon| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| B室|Tue| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| B室|Wed| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| B室|Thu| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| B室|Fri| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
小时窗口应增加每预订在该插槽(或半小时,计为完整的一小时正在使用)。它的约2000预订约50间客房。
我已经尝试了一个可怕的嵌套循环,循环遍历每个事件ID,一周中的某一天,时隙,但没有快乐(我太激动了,无法在这里输入代码!)。我怀疑矢量化函数可能会赢得这一天,如果有人有时间?提前感谢。
1条答案
按热度按时间inkz8wg91#
你对B房间周三的预期结果与其他房间不一致(那里的间隔是右开的)。
字符串