-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathappHO.R
86 lines (70 loc) · 2.36 KB
/
appHO.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
################################################################################
# An R shiny to illustrate the shapes of the harmonic oscillator hazard function
################################################################################
# Required packages
library(shiny)
# Routines
source("routinesHO.R")
# minimum time for plot
#tmin = -100
# maximum time for plot
tmax = 100
# Minimum value of parameter 1
p1min = 0
# Minimum value of parameter 2
p2min = 0
# Minimum value of parameter 3
p3min = 0
# Minimum value of parameter 4
p4min = 0
# Minimum value of parameter 5
p5min = -10
# Maximum value of parameter 1
p1max = 10
# Maximum value of parameter 2
p2max = 10
# Maximum value of parameter 3
p3max = 10
# Maximum value of parameter 4
p4max = 10
# Maximum value of parameter 5
p5max = 10
uiHO <- fluidPage(
# Title
titlePanel("Harmonic Oscillator Hazard"),
# Sidebar for parameter selection
sidebarLayout(
sidebarPanel(
sliderInput("t", "t", min = 0, max = tmax, value = 10),
sliderInput("par1", "Parameter 1 (eta)", min = p1min, max = p1max, value = 1, step = 0.1),
sliderInput("par2", "Parameter 2 (w0)", min = p2min, max = p2max, value = 1, step = 0.1),
sliderInput("par3", "Parameter 3 (hb)", min = p3min, max = p3max, value = 1, step = 0.1),
sliderInput("par4", "Parameter 4 (h0)", min = p4min, max = p4max, value = 1, step = 0.1),
sliderInput("par5", "Parameter 5 (r0)", min = p5min, max = p5max, value = 0, step = 0.1)
),
# Main panel for plot
mainPanel(
plotOutput("functionPlot")
)
)
)
serverHO <- function(input, output) {
output$functionPlot <- renderPlot({
tt = seq(from = 0, to = input$t, length = 1000)
# Calculate function values for current parameters
y1 <- hHO(tt, input$par1, input$par2, input$par3, input$par4, input$par5)
# Plot the function
plot(tt, y1, type = "l",
main = paste("h(t, eta = ", input$par1,
", w0 = ", input$par2,
", hb = ", input$par3,
", h0 = ", input$par4,
", r0 = ", input$par5, "),", sep=""),
xlab = "t", ylab = "h(t)",
cex.lab = 1.5, cex.axis = 1.5, lwd = 2)
abline(h = input$par3, col = "blue", lty = 2, lwd = 2)
abline(h = 0, col = "red", lty = 1, lwd = 2)
})
}
# Run the app
shinyApp(ui = uiHO, server = serverHO)