r - 按属性划分的 Simmer plot 资源使用情况
问题描述
是否可以在 simmer 中按属性绘制资源使用情况?因此,例如在这个模拟中:
library(simmer)
library(simmer.plot)
workerCount <- 2
actualData <- data.frame(
time = c(1:10,1:5), priority = 1:3, service = rnorm(150, 50, 5)) %>%
dplyr::arrange(time)
actualData$gender<-floor(runif(150, min=1, max=3))
actualData
activityTraj <- trajectory() %>%
seize('worker') %>%
timeout_from_attribute("service") %>%
release('worker')
env <- simmer() %>%
add_resource('worker', workerCount, Inf, preemptive = TRUE) %>%
add_dataframe('worker_', activityTraj, actualData, mon=2, col_time="time", time="absolute", col_attributes=c("gender","service")) %>%
run()
plot(get_mon_attributes(env), keys="gender", metric="usage")
生成的图显示了性别随时间的变化,但不显示资源使用情况。plot.attributes 的文档说:
“属性”的 S3 方法不支持任何指标。它只是显示了整个模拟过程中所提供键的值的阶梯图(如果没有提供键,则显示所有收集的属性)。
目前有什么方法可以按属性绘制资源使用情况?
感谢您的任何建议。
解决方案
您可以从到达表中获取每个资源的服务和等待时间get_mon_arrivals(env, per_resource=TRUE)
。然后,从属性表中获取 name<->gender 对应关系get_mon_attributes(env)
,加入表,最后使用时间序列按性别重建服务器使用情况。但这有点挑战性。可行,但需要一些工作。
我会根据该属性增加/减少一些辅助全局变量,以保持计数。
推荐阅读
- python - InvalidImageFormatError 异常 源文件似乎不是图像
- excel - 行不包含某些文本时Excel复制单元格值
- docker - Dockerimage在拉动但不在yml文件中的拉动图像指令上工作?
- javascript - When exactly starts rendering of a HTML DOM node?
- javascript - Getting 404 on Ajax Request in Spring MVC
- javascript - 显示适合多个角色的用户 discord.js
- html - How to properly size images within a div using flexbox?
- javascript - Adding a value at the end of an iframe's src
- javascript - Vue 开发和生产构建看起来不同
- powerbi - PowerBI/SSAS Tabular: How to do calculation group "most recent value" item with measures from multiple fact tables?