Over the break, my mentor gave me another idea for my thesis project: create a web application using RShiny to help estimate cost variations in the re-manufacturing process. They need to monitor the cost of repairs so that they continue to use as much of the equipment as they can. I am doing this for a branch in the Marine Corps that deals with rebuilding old equipment. They use the historical costs of the equipment to predict future costs.
RShiny is a package in R that makes it easy to code web applications for the user to interact with the data. It has built-in widgets to customize the chart or graph, such as dygraphs or heat maps.
There are a couple ways to measure the costs to repair each item (Unit Repair Costs or URCs): with labor hours and with material costs. There are hourly rates for work, so knowing how many hours spent rebuilding a piece of equipment is a predictable way to monitor URCs. These rates can change from year to year, though. Also, knowing the material costs would indicate which equipment needed a lot of repairs. The more repairs needed, the more it costs to repair it.
SPC charts make it easy to visualize the trends in your items. The SPC charts will show the variation in URC for each item. With a set UCL and LCL, it should be apparent when a problematic variation occurs. However, it cannot show the cause of the problematic variation. For example, let's say that the cost to repair/rebuild each equipment was between $1500 and $5000 (I chose random numbers. They may or may not be accurate). Then, let's say there was one item that cost $20,000 to repair/rebuild. That's not normal. You can investigate the problem and find a solution to it. Without this way to easily identify problems, you wouldn't have noticed it, which could cause more problems later on.
I spent the rest of class learning how to code with the RShiny package. There are 3 parts of a "Shiny" app: the user interface, the server function, and the shinyApp function.
-user interface: "controls the layout and appearance of your app."
-server function: "contains the instructions that your computer needs to build your app."
-shinyApp function: "creates Shiny app objects from an explicit UI/server pair/"
~The bare bones of a Shiny app~
library(shiny)
# Define UI ----
ui <- fluidPage(
)
# Define server logic ----
server <- function(input, output) {
}
# Run the app ----
shinyApp(ui = ui, server = server)
~Examples of Widgets~
function | widget |
---|---|
actionButton | Action Button |
checkboxGroupInput | A group of check boxes |
checkboxInput | A single check box |
dateInput | A calendar to aid date selection |
dateRangeInput | A pair of calendars for selecting a date range |
fileInput | A file upload control wizard |
helpText | Help text that can be added to an input form |
numericInput | A field to enter numbers |
radioButtons | A set of radio buttons |
selectInput | A box with choices to select from |
sliderInput | A slider bar |
submitButton | A submit button |
textInput | A field to enter text |
Vocab:
historical costs- the original cost of an asset.
MDMC- Marine Depot Maintenance Command
JON- job order number (item)
URC- unit repair cost
SPC- statistical process control
UCL- upper control limit
LCL- lower control limit
increment- item
UI- user interface
Sources Used:
https://shiny.rstudio.com/
https://www.accountingtools.com/articles/what-is-historical-cost.html
SPC Problem Statement TAG Magnet (from my mentor)
LCC Info Paper- SPC Charts (from my mentor)
https://shiny.rstudio.com/tutorial/written-tutorial/lesson1/
For Reference Later:
https://www.r-bloggers.com/importing-data-to-r/
https://shiny.rstudio.com/articles/layout-guide.html
https://shiny.rstudio.com/articles/tag-glossary.html
https://shiny.rstudio.com/articles/html-tags.html
http://shiny.rstudio.com/gallery/widget-gallery.html
Comments
Post a Comment