Spaces:
Sleeping
Sleeping
File size: 2,497 Bytes
8570062 |
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 85 86 87 88 89 90 91 92 93 94 95 96 |
library(shiny)
source("auxiliar.R")
shinyServer(function(input, output)
{
output$grafico1 <- renderPlot({
res <- pmf(a=input$min,
b=input$max,
pmf=input$pmf)
x_vals <- res$x_vals
probs <- res$probs
cumul_probs <- res$cumul_probs
suma <- res$suma
if (input$min > input$max | suma > 1.01 | suma < 0.99) {
plot(c(-5, 5), c(0, 1), xlab="", ylab="", type='n',
xaxt='n', yaxt='n', bty='n')
text(x=0, y=0.7, col='red', cex=2,
label='Revise los valores que ingres贸.')
text(x=0, y=0.5, col='orange', cex=1.5,
label=paste('La suma de las probabilidades es', suma))
text(x=0, y=0.3, col='purple', cex=1,
label='El m铆nimo no puede ser mayor que el m谩ximo.')
}
else {
par(mfrow=c(1, 2))
# Para dibujar f(x)
plot(x=x_vals, y=probs, las=1,
xlab="X", ylab="f(x)",
main="Funci贸n de masa",
type="h", lwd=3, col="steelblue")
grid()
# Para dibujar F(x)
F <- stepfun(x=x_vals, y=c(0, cumul_probs), right=TRUE)
plot(F, verticals=FALSE,
lwd=3, col="steelblue", las=1,
xlab="X", ylab="F(x)",
main="Funci贸n acumulada")
grid()
}
})
output$med_var <- renderText({
res <- pmf(a=input$min,
b=input$max,
pmf=input$pmf)
x_vals <- res$x_vals
probs <- res$probs
cumul_probs <- res$cumul_probs
suma <- res$suma
esperanza <- sum(x_vals * probs)
varianza <- sum((x_vals - esperanza)^2 * probs)
if (input$min > input$max | suma > 1.01 | suma < 0.99) {
paste(c("Hay algo errado!!!"))
}
else {
paste0(c("La v.a. X tiene E(X)=",
round(esperanza, 4),
"y Var(X)=", round(varianza, 4)))
}
})
output$tabla_probs <- renderTable({
res <- pmf(a=input$min,
b=input$max,
pmf=input$pmf)
x_vals <- res$x_vals
probs <- res$probs
cumul_probs <- res$cumul_probs
suma <- res$suma
if (input$min > input$max | suma > 1.01 | suma < 0.99) {
paste(c("Hay algo errado!!!"))
}
else {
data.frame("X"=x_vals,
"f(x)"=probs,
"F(x)"=cumul_probs,
check.names = FALSE)
}
}, digits=6, bordered = TRUE, align = "c")
}) |