From fa0a495f796631fc43b4b130f12293d45697235c Mon Sep 17 00:00:00 2001 From: Eduardo Junior <edujrrib@gmail.com> Date: Sun, 21 Aug 2016 19:24:05 -0300 Subject: [PATCH 01/10] =?UTF-8?q?Adiciona=20arquivo=20para=20cria=C3=A7?= =?UTF-8?q?=C3=A3o=20do=20atalho=20na=20interface=20RStudio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inst/rstudio/addins.dcf | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 inst/rstudio/addins.dcf diff --git a/inst/rstudio/addins.dcf b/inst/rstudio/addins.dcf new file mode 100644 index 00000000..3d010dcd --- /dev/null +++ b/inst/rstudio/addins.dcf @@ -0,0 +1,6 @@ +Name: labestData view data +Description: Aplicativo interativo para visualizar a + documentação e estrutura dos datasets além de baixá-la o .csv + correspondente. +Binding: labestDataView +Interactive: true -- GitLab From 9580597e7a99d958de6ebf7b07061efa4f762e19 Mon Sep 17 00:00:00 2001 From: Eduardo Junior <edujrrib@gmail.com> Date: Fri, 26 Aug 2016 14:53:28 -0300 Subject: [PATCH 02/10] =?UTF-8?q?Adiciona=20bot=C3=A3o=20para=20parar=20ex?= =?UTF-8?q?ecu=C3=A7=C3=A3o=20do=20R=20no=20console?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inst/ShinyApps/labestDataView/server.R | 6 ++++++ inst/ShinyApps/labestDataView/ui.R | 14 ++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/inst/ShinyApps/labestDataView/server.R b/inst/ShinyApps/labestDataView/server.R index e39703dc..2fd1f0db 100644 --- a/inst/ShinyApps/labestDataView/server.R +++ b/inst/ShinyApps/labestDataView/server.R @@ -69,5 +69,11 @@ shinyServer( ) } }) + + observe({ + if(input$EXIT > 0) { + stopApp() + } + }) } ) diff --git a/inst/ShinyApps/labestDataView/ui.R b/inst/ShinyApps/labestDataView/ui.R index eb3d3d58..5bb3b3bb 100644 --- a/inst/ShinyApps/labestDataView/ui.R +++ b/inst/ShinyApps/labestDataView/ui.R @@ -9,7 +9,7 @@ shinyUI( fluidRow( column( - width = 4, offset = 2, + width = 4, ## offset = 2, selectInput(inputId = "DATASET", label = "Dados disponÃveis", choices = c("Escolha um dataset" = "", L)) @@ -20,6 +20,15 @@ shinyUI( 'os dados:</label><br>', sep = "")), downloadButton(outputId = "DOWNLOADDATA", label = "Download tsv") + ), + column( + width = 2, offset = 2, + HTML(paste('<label class="control-label">Execução R:', + '</label><br>', sep = "")), + actionButton(inputId = "EXIT", + label = "Stop", + class = "btn btn-danger") + ) ), @@ -28,6 +37,3 @@ shinyUI( ) ) ) - - - -- GitLab From ebb3edd7dc0b1e6ede9932c9db415a5d79fc3296 Mon Sep 17 00:00:00 2001 From: Eduardo Junior <edujrrib@gmail.com> Date: Fri, 26 Aug 2016 19:12:39 -0300 Subject: [PATCH 03/10] Merge keywords dataset from walmes159 branch --- R/keywords.R | 34 ++++++++++++++++++++++++++++++++++ data/keywords.rda | Bin 0 -> 2784 bytes man/keywords.Rd | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 R/keywords.R create mode 100644 data/keywords.rda create mode 100644 man/keywords.Rd diff --git a/R/keywords.R b/R/keywords.R new file mode 100644 index 00000000..fdd702bc --- /dev/null +++ b/R/keywords.R @@ -0,0 +1,34 @@ +#' @name keywords +#' @title Keywords para Classificar os Conjuntos de Dados +#' @description As keywords servem para classificar os conjuntos de +#' dados por caracterÃsticas que definem, geralmente, o tipo de +#' análise a ser aplicada aos dados. Isso orienta os estudantes e +#' professores a escolherem os conjuntos de dados para listas de +#' exercÃcio, por exemplo. +#' @format Um \code{data.frame} com 596 observações e 2 variáveis, em +#' que +#' +#' \describe{ +#' +#' \item{\code{name}}{Nome do conjunto de dados no pacote labestData.} +#' +#' \item{\code{keyword}}{Keyword atribuÃda ao conjunto de dados.} +#' +#' } +#' @examples +#' +#' data(keywords) +#' str(keywords) +#' +#' library(lattice) +#' +#' tb <- table(keywords$keyword) +#' +#' barchart(sort(tb), +#' ylab = "Keyword", +#' xlab = "Frequência absoluta") +#' +#' subset(keywords, keyword == c("DBI")) +#' subset(keywords, keyword %in% c("proporção", "contagem")) +#' +NULL diff --git a/data/keywords.rda b/data/keywords.rda new file mode 100644 index 0000000000000000000000000000000000000000..aad0d2e90dd696b5e7aa19a85b8e26f7935b28b0 GIT binary patch literal 2784 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 literal 0 HcmV?d00001 diff --git a/man/keywords.Rd b/man/keywords.Rd new file mode 100644 index 00000000..2a172549 --- /dev/null +++ b/man/keywords.Rd @@ -0,0 +1,40 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/keywords.R +\name{keywords} +\alias{keywords} +\title{Keywords para Classificar os Conjuntos de Dados} +\format{Um \code{data.frame} com 596 observações e 2 variáveis, em + que + +\describe{ + +\item{\code{name}}{Nome do conjunto de dados no pacote labestData.} + +\item{\code{keyword}}{Keyword atribuÃda ao conjunto de dados.} + +}} +\description{ +As keywords servem para classificar os conjuntos de + dados por caracterÃsticas que definem, geralmente, o tipo de + análise a ser aplicada aos dados. Isso orienta os estudantes e + professores a escolherem os conjuntos de dados para listas de + exercÃcio, por exemplo. +} +\examples{ + +data(keywords) +str(keywords) + +library(lattice) + +tb <- table(keywords$keyword) + +barchart(sort(tb), + ylab = "Keyword", + xlab = "Frequência absoluta") + +subset(keywords, keyword == c("DBI")) +subset(keywords, keyword \%in\% c("proporção", "contagem")) + +} + -- GitLab From 63bd3e4f390314418fc31b72a21066d2eee50c72 Mon Sep 17 00:00:00 2001 From: Eduardo Junior <edujrrib@gmail.com> Date: Fri, 26 Aug 2016 21:26:12 -0300 Subject: [PATCH 04/10] Adiciona filtros para obras (nome de autor) e keywords --- inst/ShinyApps/labestDataView/global.R | 10 ++--- inst/ShinyApps/labestDataView/server.R | 51 +++++++++++++++++++++++++- inst/ShinyApps/labestDataView/ui.R | 22 +++++++---- 3 files changed, 70 insertions(+), 13 deletions(-) diff --git a/inst/ShinyApps/labestDataView/global.R b/inst/ShinyApps/labestDataView/global.R index 44f4fbc8..280e94a8 100644 --- a/inst/ShinyApps/labestDataView/global.R +++ b/inst/ShinyApps/labestDataView/global.R @@ -4,11 +4,11 @@ library(xtable) library(labestData) -L <- ls("package:labestData") -i <- sapply(L, function(x) { - class(eval(parse(text = x))) -}) -L <- L[i %in% c("data.frame", "numeric", "integer")] +data(keywords, package = "labestData") +keywords$obra <- gsub( + pattern = "^([A-Z]{1}[a-z]*)[A-Z]{1}[a-z]{1}.*$", + replacement = "\\1", + x = keywords$name) howmanydigits <- function(x) { x <- na.omit(x) diff --git a/inst/ShinyApps/labestDataView/server.R b/inst/ShinyApps/labestDataView/server.R index 2fd1f0db..6a76ca5f 100644 --- a/inst/ShinyApps/labestDataView/server.R +++ b/inst/ShinyApps/labestDataView/server.R @@ -8,13 +8,62 @@ shinyServer( vers <- as.character(packageVersion("labestData")) tagList( h1(paste("labestData: Biblioteca de dados para", - "Ensino de EstatÃstica"), class = "title"), + "aprendizado de EstatÃstica"), + class = "title"), h2(paste("PET-EstatÃstica UFPR - Versão", vers), class = "title"), hr() ) }) + ## Cria listbox para seleção das obras + output$OBRAUI <- renderUI({ + CHOICES <- c("Todas" = "", sort(keywords$obra)) + selectInput(inputId = "OBRA", + label = "Escolha a(s) obra(s)", + choices = CHOICES, multiple = TRUE) + }) + + ## Cria listbox para seleção das keywords + output$KEYSUI <- renderUI({ + CHOICES <- c("Todas" = "", levels(keywords$keyword)) + selectInput(inputId = "KEYS", label = "Keyword(s)", + choices = CHOICES, multiple = TRUE) + }) + + ## Separa o conjunto de dados com base nos filtros + DATACHOICE <- reactive({ + OBRA <- input$OBRA + KEYS <- input$KEYS + if (is.null(OBRA) & is.null(KEYS)) { + DATA <- keywords + } + if (is.null(OBRA) & !is.null(KEYS)) { + DATA <- subset(keywords, keyword %in% KEYS) + } + if (!is.null(OBRA) & is.null(KEYS)) { + DATA <- subset(keywords, obra %in% OBRA) + } + if (!is.null(OBRA) & !is.null(KEYS)) { + DATA <- subset(keywords, + obra %in% OBRA & keyword %in% KEYS) + } + return(DATA) + }) + + ## Cria listbox para seleção dos datasets + output$DATASETUI <- renderUI({ + na <- sort(DATACHOICE()$name) + if (length(na) != 0) { + CHOICES <- c("Escolha um dataset" = "", na) + } else { + CHOICES <- c("Não há datasets" = "") + } + selectInput(inputId = "DATASET", + label = "Dados disponÃveis", + choices = CHOICES) + }) + output$DOC <- renderPrint({ if (input$DATASET != "") { tmp <- tempfile() diff --git a/inst/ShinyApps/labestDataView/ui.R b/inst/ShinyApps/labestDataView/ui.R index 5bb3b3bb..c3cc476c 100644 --- a/inst/ShinyApps/labestDataView/ui.R +++ b/inst/ShinyApps/labestDataView/ui.R @@ -8,21 +8,29 @@ shinyUI( htmlOutput("HEADER"), fluidRow( + + column( + width = 3, + uiOutput("OBRAUI") + ), + column( + width = 2, + uiOutput("KEYSUI") + ), column( - width = 4, ## offset = 2, - selectInput(inputId = "DATASET", - label = "Dados disponÃveis", - choices = c("Escolha um dataset" = "", L)) + width = 3, ## offset = 2, + uiOutput("DATASETUI") ), column( - width = 4, + width = 2, HTML(paste('<label class="control-label">Baixe ', 'os dados:</label><br>', sep = "")), downloadButton(outputId = "DOWNLOADDATA", - label = "Download tsv") + label = "", + class = "btn btn-primary") ), column( - width = 2, offset = 2, + width = 2, ## offset = 2, HTML(paste('<label class="control-label">Execução R:', '</label><br>', sep = "")), actionButton(inputId = "EXIT", -- GitLab From 358524150423837b4cdd90fda0edfb3d6262b69b Mon Sep 17 00:00:00 2001 From: Eduardo Junior <edujrrib@gmail.com> Date: Sat, 27 Aug 2016 11:24:11 -0300 Subject: [PATCH 05/10] =?UTF-8?q?Adiciona=20a=20exibi=C3=A7=C3=A3o=20da=20?= =?UTF-8?q?tabela=20dos=20datasets=20com=20datatable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inst/ShinyApps/labestDataView/server.R | 39 ++++++++++++++++++++------ 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/inst/ShinyApps/labestDataView/server.R b/inst/ShinyApps/labestDataView/server.R index 6a76ca5f..6ff0d52d 100644 --- a/inst/ShinyApps/labestDataView/server.R +++ b/inst/ShinyApps/labestDataView/server.R @@ -18,7 +18,8 @@ shinyServer( ## Cria listbox para seleção das obras output$OBRAUI <- renderUI({ - CHOICES <- c("Todas" = "", sort(keywords$obra)) + CHOICES <- c("Escolha uma obra" = "", "Todas", + sort(keywords$obra)) selectInput(inputId = "OBRA", label = "Escolha a(s) obra(s)", choices = CHOICES, multiple = TRUE) @@ -35,16 +36,17 @@ shinyServer( DATACHOICE <- reactive({ OBRA <- input$OBRA KEYS <- input$KEYS - if (is.null(OBRA) & is.null(KEYS)) { + OBRAL <- is.null(OBRA) || OBRA == "Todas" + if (OBRAL & is.null(KEYS)) { DATA <- keywords } - if (is.null(OBRA) & !is.null(KEYS)) { + if (OBRAL & !is.null(KEYS)) { DATA <- subset(keywords, keyword %in% KEYS) } - if (!is.null(OBRA) & is.null(KEYS)) { + if (!OBRAL & is.null(KEYS)) { DATA <- subset(keywords, obra %in% OBRA) } - if (!is.null(OBRA) & !is.null(KEYS)) { + if (!OBRAL & !is.null(KEYS)) { DATA <- subset(keywords, obra %in% OBRA & keyword %in% KEYS) } @@ -64,6 +66,13 @@ shinyServer( choices = CHOICES) }) + output$DATATABLE <- renderDataTable({ + da <- DATACHOICE() + names(da) <- c("Dataset", "Keyword", "Obra") + da[order(da$Dataset), c(3, 2, 1)] + }, options = list(lengthMenu = c(5, 10, 25, 50), + pageLength = 5)) + output$DOC <- renderPrint({ if (input$DATASET != "") { tmp <- tempfile() @@ -72,7 +81,9 @@ shinyServer( headfoot <- grep("body", out) cat(out[(headfoot[1] + 1):(headfoot[2] - 2)], sep = "\n") - } else return("Processando") + } else { + cat("Selecione o conjunto de dados.") + } }) output$TABLE <- renderPrint({ @@ -92,7 +103,9 @@ shinyServer( }) dig <- sapply(a, howmanydigits) print(xtable(a, digits = c(0, dig)), type = "html") - } else return("Processando") + } else { + cat("Selecione o conjunto de dados") + } }) output$DOWNLOADDATA <- downloadHandler( @@ -108,10 +121,18 @@ shinyServer( }) output$TABLE_DOC <- renderUI({ - if(input$DATASET == "") { - return(includeMarkdown("ABOUT.md")) + test <- input$DATASET == "" & is.null(input$OBRA) & + is.null(input$KEYS) + if (test) { + tagList( + hr(), + includeMarkdown("ABOUT.md")## , + ## dataTableOutput("DATATABLE") + ) } else { tabsetPanel( + tabPanel("Lista de Datasets", + dataTableOutput("DATATABLE")), tabPanel("Documentação", uiOutput("DOC")), tabPanel("Tabela de dados", tableOutput("TABLE")) -- GitLab From 53fd0ee43a57138e2f17c8ccff81a8c4023718fb Mon Sep 17 00:00:00 2001 From: Eduardo Junior <edujrrib@gmail.com> Date: Sat, 27 Aug 2016 11:57:20 -0300 Subject: [PATCH 06/10] =?UTF-8?q?Remove=20informa=C3=A7=C3=A3o=20dos=20aut?= =?UTF-8?q?ores=20e=20alinha=20logo=20a=20esquerda?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inst/ShinyApps/labestDataView/ABOUT.md | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/inst/ShinyApps/labestDataView/ABOUT.md b/inst/ShinyApps/labestDataView/ABOUT.md index f3fa4c97..00469d60 100644 --- a/inst/ShinyApps/labestDataView/ABOUT.md +++ b/inst/ShinyApps/labestDataView/ABOUT.md @@ -1,8 +1,6 @@ *** -<center> -<img src = 'labestDataLogo.svg' height = '120px'></img> -</center> +<img src='labestDataLogo.svg' height='120px' align='left' style='margin-right: 30px;'></img> O [labestData] é um projeto coletivo do [PET-EstatÃstica UFPR] que visa contribuir com o Departamento de EstatÃstica, e a comunidade cientÃfica @@ -12,27 +10,6 @@ ensino de EstatÃstica. Todo o projeto é desenvolvido sob versionamento [Git] e mantido nos nos serviços de hospedagem remota [GitLab do C3SL] e [GitHub]. -### Autores ### - -O [labestData] é uma iniciativa coletiva do grupo [PET-EstatÃstica UFPR] -para contribuir com a comunidade EstatÃstica. Assim os contribuidores do -projeto são os bolsistas do programa e voluntários. Todos estão listados -abaixo: - - - Altamiro Antonio Basiewics <alfbasiewics@bol.com.br> - - Angela Luiza Cunha Legey <angelalegey@gmail.com> - - Bruna Davies Wundervald <brunadaviesw@gmail.com> - - Bruno Geronymo <geronymobruno@hotmail.com> - - Daniel Ikenaga <oladani@gmail.com> - - Eduardo Elias Ribeiro Junior <edujrrib@gmail.com> - - Gabriel Sartori Klostermann <gabrielsartori2008@gmail.com> - - Jhenifer Caetano Veloso <jhenicaet@gmail.com> - - Monica Ludmila Hintz De Oliveira <monica.ludmila@gmail.com> - - Paula Alessandra Zeizer Dimas <alessandra.zeizer@gmail.com> - - Alcides Conte Neto neto_conte@hotmail.com - - Walmes Marques Zeviani <walmes@ufpr.br> - - Cesar Augusto Taconeli <taconeli@ufpr.br> - [Git]: https://git-scm.com/ [GitHub]: https://github.com/pet-estatistica/labestData [GitLab do C3SL]: https://gitlab.c3sl.ufpr.br/pet-estatistica/labestData -- GitLab From 1232f0381be50500aa8be74871c0d1106450d017 Mon Sep 17 00:00:00 2001 From: Eduardo Junior <edujrrib@gmail.com> Date: Sat, 27 Aug 2016 12:00:54 -0300 Subject: [PATCH 07/10] Corrige o restart das abas --- inst/ShinyApps/labestDataView/server.R | 40 +++++++++++++++++--------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/inst/ShinyApps/labestDataView/server.R b/inst/ShinyApps/labestDataView/server.R index 6ff0d52d..c98ec179 100644 --- a/inst/ShinyApps/labestDataView/server.R +++ b/inst/ShinyApps/labestDataView/server.R @@ -104,7 +104,7 @@ shinyServer( dig <- sapply(a, howmanydigits) print(xtable(a, digits = c(0, dig)), type = "html") } else { - cat("Selecione o conjunto de dados") + cat("Selecione o conjunto de dados.") } }) @@ -120,23 +120,35 @@ shinyServer( quote = FALSE) }) + ## Para fixar a aba selecionada + aba <- reactiveValues(x = "datasets") + observeEvent(input$TAB, { + aba$x <- input$TAB + }) + output$TABLE_DOC <- renderUI({ test <- input$DATASET == "" & is.null(input$OBRA) & is.null(input$KEYS) - if (test) { - tagList( - hr(), - includeMarkdown("ABOUT.md")## , - ## dataTableOutput("DATATABLE") - ) + if (length(test) == 0) { + includeMarkdown("ABOUT.md") } else { - tabsetPanel( - tabPanel("Lista de Datasets", - dataTableOutput("DATATABLE")), - tabPanel("Documentação", uiOutput("DOC")), - tabPanel("Tabela de dados", - tableOutput("TABLE")) - ) + if (test) { + return(includeMarkdown("ABOUT.md")) + } else { + tabsetPanel( + id = "TAB", + selected = aba$x, + tabPanel("Lista de Datasets", + dataTableOutput("DATATABLE"), + value = "datasets"), + tabPanel("Documentação", + uiOutput("DOC"), + value = "doc"), + tabPanel("Tabela de dados", + tableOutput("TABLE"), + value = "tabela") + ) + } } }) -- GitLab From f6c8fa801226d084bcb0d95192945383fa999323 Mon Sep 17 00:00:00 2001 From: Eduardo Junior <edujrrib@gmail.com> Date: Sat, 27 Aug 2016 12:29:44 -0300 Subject: [PATCH 08/10] Remove arquivo RData adicionado acidentalmente em alessandra124 --- .RData | Bin 3464 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .RData diff --git a/.RData b/.RData deleted file mode 100644 index 92fdfd0dfaba99957061f42957ba8199cbd322ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3464 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 -- GitLab From 2f6e5dad6589dabc16e797f7f03fedd30fc58acc Mon Sep 17 00:00:00 2001 From: Eduardo Junior <edujrrib@gmail.com> Date: Sat, 27 Aug 2016 13:03:06 -0300 Subject: [PATCH 09/10] =?UTF-8?q?Corrige=20a=20escrita=20de=20vari=C3=A1ve?= =?UTF-8?q?is=20e=20fun=C3=A7=C4=A9es=20no=20.GlobalEnv?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove o global.R para que os objetos não sejam salvos na sessão do usuário (http://shiny.rstudio.com/articles/scoping.html) --- inst/ShinyApps/labestDataView/global.R | 31 ------------------------- inst/ShinyApps/labestDataView/server.R | 32 ++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 31 deletions(-) delete mode 100644 inst/ShinyApps/labestDataView/global.R diff --git a/inst/ShinyApps/labestDataView/global.R b/inst/ShinyApps/labestDataView/global.R deleted file mode 100644 index 280e94a8..00000000 --- a/inst/ShinyApps/labestDataView/global.R +++ /dev/null @@ -1,31 +0,0 @@ -##------------------------------------------- -## global.R - -library(xtable) -library(labestData) - -data(keywords, package = "labestData") -keywords$obra <- gsub( - pattern = "^([A-Z]{1}[a-z]*)[A-Z]{1}[a-z]{1}.*$", - replacement = "\\1", - x = keywords$name) - -howmanydigits <- function(x) { - x <- na.omit(x) - if (is.numeric(x) && all(x%%1 == 0)) { - 0 - } else if (is.numeric(x)) { - 1 + floor(log10(1/min(diff(sort(unique(x)))))) - } else { - 0 - } -} - -static_help <- function(pkg, topic, out, - links = tools::findHTMLlinks()) { - pkgRdDB = tools:::fetchRdDB(file.path( - find.package(pkg), 'help', pkg)) - force(links) - tools::Rd2HTML(pkgRdDB[[topic]], out, package = pkg, - Links = links, no_links = is.null(links)) -} diff --git a/inst/ShinyApps/labestDataView/server.R b/inst/ShinyApps/labestDataView/server.R index c98ec179..e91dbf34 100644 --- a/inst/ShinyApps/labestDataView/server.R +++ b/inst/ShinyApps/labestDataView/server.R @@ -1,3 +1,35 @@ +##------------------------------------------- +## Variables and functions + +library(xtable) +library(labestData) + +## data(keywords, package = "labestData") +keywords$obra <- gsub( + pattern = "^([A-Z]{1}[a-z]*)[A-Z]{1}[a-z]{1}.*$", + replacement = "\\1", + x = keywords$name) + +howmanydigits <- function(x) { + x <- na.omit(x) + if (is.numeric(x) && all(x%%1 == 0)) { + 0 + } else if (is.numeric(x)) { + 1 + floor(log10(1/min(diff(sort(unique(x)))))) + } else { + 0 + } +} + +static_help <- function(pkg, topic, out, + links = tools::findHTMLlinks()) { + pkgRdDB = tools:::fetchRdDB(file.path( + find.package(pkg), 'help', pkg)) + force(links) + tools::Rd2HTML(pkgRdDB[[topic]], out, package = pkg, + Links = links, no_links = is.null(links)) +} + ##------------------------------------------- ## server.R -- GitLab From 7a5900a221baecfe601bfad2fec0c29858ed8d9e Mon Sep 17 00:00:00 2001 From: Eduardo Junior <edujrrib@gmail.com> Date: Sat, 27 Aug 2016 13:07:15 -0300 Subject: [PATCH 10/10] =?UTF-8?q?Troca=20label=20para=20evitar=20quebra=20?= =?UTF-8?q?de=20linha=20em=20resolu=C3=A7=C3=B5es=20menores?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inst/ShinyApps/labestDataView/ui.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inst/ShinyApps/labestDataView/ui.R b/inst/ShinyApps/labestDataView/ui.R index c3cc476c..c36e37f0 100644 --- a/inst/ShinyApps/labestDataView/ui.R +++ b/inst/ShinyApps/labestDataView/ui.R @@ -23,8 +23,8 @@ shinyUI( ), column( width = 2, - HTML(paste('<label class="control-label">Baixe ', - 'os dados:</label><br>', sep = "")), + HTML(paste('<label class="control-label">Download:', + '</label><br>', sep = "")), downloadButton(outputId = "DOWNLOADDATA", label = "", class = "btn btn-primary") -- GitLab