R 不应该是一个额外的结束括号,因为我有一个额外的开始。请再次尝试我的编辑,并描述任何错误或不希望的结果,而不仅仅是它工作或不工作。语法错误可能是由带有空格或特殊字符的列名引起的。用全小写的双引号将这些列名括起来。我已经复制了您的代码并按原样使用。我把上面的错
R 不应该是一个额外的结束括号,因为我有一个额外的开始。请再次尝试我的编辑,并描述任何错误或不希望的结果,而不仅仅是它工作或不工作。语法错误可能是由带有空格或特殊字符的列名引起的。用全小写的双引号将这些列名括起来。我已经复制了您的代码并按原样使用。我把上面的错,r,postgresql,shiny,R,Postgresql,Shiny,不应该是一个额外的结束括号,因为我有一个额外的开始。请再次尝试我的编辑,并描述任何错误或不希望的结果,而不仅仅是它工作或不工作。语法错误可能是由带有空格或特殊字符的列名引起的。用全小写的双引号将这些列名括起来。我已经复制了您的代码并按原样使用。我把上面的错误作为图片附在了帖子里。我不得不将location=location()调整为location=location\u pick(),但其余部分与代码保持相同。请告诉我您的想法。错误源于UI部分。请参阅编辑使用小型服务器fct修复程序删除不需要的
不应该是一个额外的结束括号,因为我有一个额外的开始。请再次尝试我的编辑,并描述任何错误或不希望的结果,而不仅仅是它工作或不工作。语法错误可能是由带有空格或特殊字符的列名引起的。用全小写的双引号将这些列名括起来。我已经复制了您的代码并按原样使用。我把上面的错误作为图片附在了帖子里。我不得不将location=location()调整为location=location\u pick(),但其余部分与代码保持相同。请告诉我您的想法。错误源于UI部分。请参阅编辑使用小型服务器fct修复程序删除不需要的逗号。谢谢,我做了编辑。现在我收到了这个错误消息error:“数据”必须是二维的(例如数据框或矩阵),在哪里可以将我的表从数据库转换为数据框?
library(shiny)
library(shinydashboard)
library(RColorBrewer)
library(leaflet)
library(dplyr)
library(ggplot2)
library(tidyverse)
library(fpp)
library(plotly)
library(sp)
library(RPostgreSQL)
library(DBI)
library(pool)
#####
pool <- dbPool(drv = dbDriver("PostgreSQL", max.con = 100), user = "user", password = "pswd", host = "localhost", port = 5432, dbname = "people", idleTimeout = 3600000)
##list of people names
All<-tbl(pool, "table")
All%>%group_by(name)
names_All<- dbGetQuery(pool, "SELECT name FROM table GROUP BY name") ## list of names another way
type_grouped<- dbGetQuery(pool, "SELECT type FROM table GROUP BY type")
loc_grouped<- dbGetQuery(pool, "SELECT location FROM table GROUP BY location")
####
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
selectInput(
inputId = "name",
label = " name",
choices = names_All,
selected = 1,
),
selectInput(
inputId = "type",
label = " type",
choices = type_grouped,
selected = 1,
),
selectInput(
inputId = "location",
label = " location",
choices = loc_grouped,
selected = 1,
)
),
mainPanel(
tabsetPanel(
tabPanel("graph", plotOutput("plot")),
tabPanel("Table", dataTableOutput("table"))
)
)
)
)
server <- function(input, output, session) {
selectedData <- reactive({
req(input$name)
req(input$type)
req(input$location)
query <- glue::glue_sql(
"SELECT * FROM table
WHERE name IN ({name*})
AND type IN ({type*})
AND location IN ({location*});",
name = input$name,
type = input$type,
location=input$location,
.con = pool)
outp <- as.data.frame(dbGetQuery(pool, query))
outp
})
output$table <- DT::renderDataTable({
DT::datatable( data = selectedData(),
options = list(pageLength = 14),
rownames = FALSE)
output$plot <- renderPlot({
ggplot( data = selectedData(), aes(x = date, y = name )) + geom_point()
})
}
shinyApp(ui = ui, server = server)