Я новичок в R и хочу создать панель инструментов в R, которая отображает все данные и сводную статистику, гистограммы и диаграммы для всех переменных или выбранных переменных из данных, импортированных из расположения / диска или из БД, которая имееткнопка обзора или кнопка подключения на отображаемой странице.Мне нужен код R для подключения к любой БД, я знаю, как подключиться к серверу MySQL через R, но он мне нужен для подключения к любой базе данных.Любые ресурсы, связанные с блестящими / динамическими страницами в R, очень помогли бы. Вот код, который я пробовал, который имеет эти 2 ошибки
library(shiny)
library(ggplot2)
library(dplyr)
library(tidyverse)
library(psych)
## Only run examples in interactive R sessions
if (interactive()) {
ui <- fluidPage(
# App title ----
titlePanel("Dashboard For Data Analysis"),
# Sidebar layout with input and output definitions ----
sidebarLayout(
# Sidebar panel for inputs ----
sidebarPanel(
# Input: Select a file ----
fileInput("file1", "Choose CSV File",
multiple = TRUE,
accept = c("text/csv",
"text/comma-separated-values,text/plain",
".csv")),
# Horizontal line ----
tags$hr(),
# Input: Select number of rows to display ----
radioButtons("disp", "Display",
choices = c(Head = "head",
All = "all"),
selected = "head"),
# Horizontal line ----
tags$hr()
# Select Variable from the selected Dataset
selectInput("vari", "Variable",
choices=colnames(df),
hr(),
helpText("")
),
##########################
# Main panel for displaying outputs ----
mainPanel(
# Output: Data file ----
h1("Overview of the Data")
DT::dataTableOutput('contents'),
h2("Summary Statistics")
verbatimTextOutput("summary"),
plotOutput('plot')
)
)
)
server <- function(input, output, session){
myData <- reactive({
inFile <- input$file1
if (is.null(inFile)) return(NULL)
data123 <- read.csv(inFile$datapath, header = TRUE)
})
output$contents <- DT::renderDataTable({
DT::datatable(myData())
})
output$select <- renderUI({
df <- myData()
selectInput("variable", "Select Variables:",names(df))
})
output$summary <- renderPrint({
df <- myData()
df <- df[,input$variable]
summary(df)
})
output$summary <- renderPrint({
df <- myData()
df <- df[,input$variable]
describe(df)
})
output$plot <- renderPlot({
df <- myData()
df <- df[,input$variable]
boxplot(df,col="sky blue",border="purple",main= 'Boxplot of 'input$variable)
})
}
shinyApp(ui,server)
}