Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Eu estou querendo fazer um nuvem de palavras usando dados de uma tabela do postgresql,eu usei um exemplo como base que achei no site do Shiny R, mas nao estou conseguindo fazer oque eu quero.
- Nao consigo mudar qual a variável que vai servir como base da nuvem de palavras.Precisava que ao mudar o nome na seleção no "selectinput" a nuvem tambem deveria mudar a variavel que é usada.
- Me ajudem por favor, eu preciso terminar isso para meu TCC.
- Server.R
- function(input, output, session) {
- # Define a reactive expression for the document term matrix
- terms <- reactive({
- # Change when the "update" button is pressed...
- input$update
- # ...but not for anything else
- isolate({
- withProgress({
- setProgress(message = "Processing corpus...")
- getTermMatrix(input$selection)
- })
- })
- })
- # Make the wordcloud drawing predictable during a session
- wordcloud_rep <- repeatable(wordcloud)
- output$plot <- renderPlot({
- v <- terms()
- wordcloud_rep(names(v), v, scale=c(4,0.5),
- min.freq = input$freq, max.words=input$max,
- colors=brewer.pal(8, "Dark2"))
- })
- }
- Ui.R
- fluidPage(
- # Application title
- titlePanel("Word Cloud"),
- sidebarLayout(
- # Sidebar with a slider and selection inputs
- sidebarPanel(
- selectInput("selection", "Choose a book:",
- choices = c("Forzza","Viana")),
- actionButton("update", "Change"),
- hr(),
- sliderInput("freq",
- "Minimum Frequency:",
- min = 1, max = 1000, value = 1),
- sliderInput("max",
- "Maximum Number of Words:",
- min = 1, max = 100, value = 100)
- ),
- # Show Word Cloud
- mainPanel(
- tabsetPanel(type = "tabs",
- tabPanel("Plot", plotOutput("plot"))
- )
- )
- )
- )
- Global.r
- library(tm)
- library(wordcloud)
- library(memoise)
- library(RPostgreSQL)
- con <- dbConnect(PostgreSQL(), user="postgres", password="123456",dbname="postgres")
- coletor1=dbGetQuery(con,"SELECT REPLACE(aux_coletprinc,' ','') aux_coletprinc from jabot.detacesso2 where aux_coletprinc ilike '%forz%a%'
- limit 10")
- coletor2=dbGetQuery(con,"SELECT REPLACE(aux_coletprinc,' ','') aux_coletprinc from jabot.detacesso2 where aux_coletprinc ilike '%vian%a%'
- limit 10")
- dbDisconnect(con)
- books <<- list("Forzza" ,
- "Viana" )
- # Using "memoise" to automatically cache the results
- getTermMatrix <- memoise(function(book) {
- # Careful not to let just any name slip in here; a
- # malicious user could manipulate this value.
- text <- book
- myCorpus = Corpus(VectorSource(text))
- myCorpus = tm_map(myCorpus, content_transformer(tolower))
- myDTM = TermDocumentMatrix(myCorpus,
- control = list(minWordLength = 1))
- m = as.matrix(myDTM)
- sort(rowSums(m), decreasing = TRUE)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement