samplesize / server.R
FreddyHernandez's picture
Upload 2 files
ccf2fef verified
library(shiny)
shinyServer(function(input, output, session){
output$grafica <- renderPlot({
if(input$tipo == "Proporcion"){
N <- input$Nprop
if (is.null(N)) N <- 500000000
e <- input$eprop
p <- input$p
nc <- seq(from=0.90, to=0.99, by=0.01)
z <- qnorm((1-nc)/2, lower.tail=F)
if (input$Ncp=='No') n <- z^2 * p * (1-p) / e^2
if (input$Ncp=='Si') n <- N * z^2 * p * (1-p) / ((N-1) * e^2 + z^2 * p * (1-p))
n <- ceiling(n)
nc <- 100 * nc
plot(x=nc, y=n, axes=F,
cex=2, pch=19, col='deepskyblue3',
xlab='Nivel de confianza (NC)',
ylab='Tamaño de muestra',
main=expression(Tamaño~de~muestra~para~estimar~P))
Axis(side=1, at=nc)
Axis(side=2, at=n, las=1)
segments(x0=nc, y0=min(n), x1=nc, y1=n, lty='dotted', col=gray(0.5))
segments(x0=min(nc), y0=n, x1=nc, y1=n, lty='dotted', col=gray(0.5))
}
if(input$tipo == "Media"){
N <- input$Nmean
e <- input$emean
sigma <- input$sigma
nc <- seq(from=0.90, to=0.99, by=0.01)
z <- qnorm((1-nc)/2, lower.tail=F)
if (input$Ncm=='No') n <- z^2 * sigma^2 / e^2
if (input$Ncm=='Si') n <- N * z^2 * sigma^2 / ((N-1) * e^2 + z^2 * sigma^2)
n <- ceiling(n)
nc <- 100 * nc
plot(x=nc, y=n, axes=F,
cex=2, pch=19, col='deepskyblue3',
xlab='Nivel de confianza (NC)',
ylab='Tamaño de muestra',
main=expression(Tamaño~de~muestra~para~estimar~mu))
Axis(side=1, at=nc)
Axis(side=2, at=n, las=1)
segments(x0=nc, y0=min(n), x1=nc, y1=n, lty='dotted', col=gray(0.5))
segments(x0=min(nc), y0=n, x1=nc, y1=n, lty='dotted', col=gray(0.5))
}
})
})