Если у вас есть окна, измените свой PATH так, чтобы он включал C:\Program Files\Java\jdk1.8.0_151\bin
вместо C:\ProgramData\Oracle\Java\javapath
. Да, это может сломаться в обновлении или что-то еще, но, учитывая, что обновление сломало мою машину. .. По крайней мере, вы теперь контролируете.
Мое предположение заключается в том, что C:\ProgramData\Oracle\Java\javapath
указывает на не-jdk jre, поэтому не удается найти javac-специфичные банки.
Я настоятельно рекомендую вам прочитать эту статью об отладке.
В Shiny вы можете использовать функцию browser()
в функциях reactive
и render
. Это должно помочь вам найти проблему (то есть: данные имеют ожидаемую структуру)
Кажется, проблема в функции aggregate
: db_4()["date"]
возвращает data.frame
, где вам нужен вектор. [ 1111]
library(shiny)
db <- data.frame(
domain = letters[1:3],
date = seq(
from = as.Date("2019-01-01"),
to = as.Date("2019-06-01"),
by = "1 months"
),
value = runif(12)
)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
selectInput("domain", "Domain", choices = unique(db$domain)),
dateRangeInput("daterange", "Date",
min = min(db$date), max = max(db$date),
start = min(db$date), end = max(db$date))
),
mainPanel(
tableOutput("table2")
)
)
)
server <- function(input, output, session) {
db_4 <- reactive( {
subset(db,
db$domain %in% input$domain &
db$date<=input$daterange[2] &
db$date>=input$daterange[1]
)
})
output$table2 <- renderTable( {
req(db_4()) # Don't render table when db_4() is NULL
# Uncomment next line to check if everything goes as expected
#browser()
aggregate(
data.frame(value = db_4()$value),
by=list(date = as.factor(db_4()$date)),
sum
)
})
}
shinyApp(ui, server)
Также я настоятельно рекомендую поделиться кодом вашего минимального примера, включая несколько фиктивных данных, чтобы его можно было мгновенно скопировать. Это увеличит шансы того, что кто-то ответит.