Skip to content
Snippets Groups Projects
Commit fbe7fd9a authored by Eduardo E. R. Junior's avatar Eduardo E. R. Junior
Browse files

Adiciona botão de recomeçar à aplicação

parent 4150ec06
No related branches found
No related tags found
1 merge request!4Issue#2
...@@ -13,7 +13,6 @@ moeda <- function(n){ ...@@ -13,7 +13,6 @@ moeda <- function(n){
} }
## Vetor vazio. ## Vetor vazio.
x <- integer()
N <- 1000 N <- 1000
shinyServer( shinyServer(
...@@ -22,31 +21,33 @@ shinyServer( ...@@ -22,31 +21,33 @@ shinyServer(
output$header <- renderPrint({ output$header <- renderPrint({
template("TEMA") template("TEMA")
}) })
# cara <- eventReactive(input$goCara, {
# x <<- c(x, 1L) ## Cria valores para reagirem à estímulos dos buttons
# }) v <- reactiveValues(x = integer())
# coro <- eventReactive(input$goCoro, {
# x <<- c(x, 0L) ## Responde a estímulos no `input$goCara`.
# }) observeEvent(input$goCara, {
# output$nlanc <- renderText({ v$x <- c(v$x, 1L)
# coro(); cara()
# return(length(x))
# })
cara <- reactive({
input$goCara
x <<- c(x, 1L)
}) })
coro <- reactive({
input$goCoro ## Responde a estímulos no `input$goCoro`.
x <<- c(x, 0L) observeEvent(input$goCoro, {
v$x <- c(v$x, 0L)
})
## Responde a estímulos no `input$goCoro`.
observeEvent(input$clear, {
v$x <- integer()
}) })
## x começa com dois elementos. Descontá-los. ## x começa com dois elementos. Descontá-los.
output$nlanc <- renderText({ output$nlanc <- renderText({
coro(); cara() return(length(v$x))
return(length(x)-2)
}) })
process <- eventReactive(input$goProcess, { process <- eventReactive(input$goProcess, {
x <- x[-c(1:2)] with(reactiveValuesToList(v), {
x <- x
## Número de lançamentos. ## Número de lançamentos.
n <- length(x) n <- length(x)
## Número de caras. ## Número de caras.
...@@ -58,16 +59,19 @@ shinyServer( ...@@ -58,16 +59,19 @@ shinyServer(
## P-valor bilateral empírico. ## P-valor bilateral empírico.
p <- min(c(2*min(c(sum(r<=o), sum(r>=o)))/N, 1)) p <- min(c(2*min(c(sum(r<=o), sum(r>=o)))/N, 1))
## Lista com todos os elementos. ## Lista com todos os elementos.
return(list(n=n, k=k, o=o, r=r, p=p, x=x)) list(n=n, k=k, o=o, r=r, p=p, x=x)
})
}) })
output$seqx <- renderText({ output$seqx <- renderText({
s <- paste0(process()$x, collapse="") s <- paste0(process()$x, collapse="")
return(s) return(s)
}) })
output$hist <- renderPlot({ output$hist <- renderPlot({
with(process(),{ with(process(),{
if(n<=9){ if(n<=15){
stop("Pro favor, lance no mínimo 30 vezes.") stop("Pro favor, lance no mínimo 15 vezes.")
} }
par(mar=c(5,4,3,2), family="Palatino") par(mar=c(5,4,3,2), family="Palatino")
layout(matrix(c(1,2,1,3), 2, 2)) layout(matrix(c(1,2,1,3), 2, 2))
......
...@@ -17,6 +17,7 @@ shinyUI( ...@@ -17,6 +17,7 @@ shinyUI(
h4("Você consegue imitar uma moeda?"), h4("Você consegue imitar uma moeda?"),
p(txt), p(txt),
hr(), hr(),
sidebarPanel( sidebarPanel(
helpText("Clique nos botões para declarar cara ou coroa."), helpText("Clique nos botões para declarar cara ou coroa."),
actionButton("goCara", "Cara"), actionButton("goCara", "Cara"),
...@@ -24,10 +25,14 @@ shinyUI( ...@@ -24,10 +25,14 @@ shinyUI(
h6("Número de lançamentos feitos:"), h6("Número de lançamentos feitos:"),
verbatimTextOutput("nlanc"), verbatimTextOutput("nlanc"),
actionButton("goProcess", "Aplicar teste de hipótese!"), actionButton("goProcess", "Aplicar teste de hipótese!"),
actionButton("clear", "Recomeçar"),
h6("Sequência das faces observadas (1=cara, 0=coroa):"), h6("Sequência das faces observadas (1=cara, 0=coroa):"),
verbatimTextOutput("seqx"), verbatimTextOutput("seqx"),
checkboxInput("teorico", "Valores teóricos: Binomial(n-1, p=0.5)") checkboxInput(
"teorico", "Valores teóricos: Binomial(n-1, p=0.5)")
), ),
mainPanel( mainPanel(
plotOutput("hist", width=500, height=500) plotOutput("hist", width=500, height=500)
) )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment