I hope you're well. I am trying to create a shiny dashboard whereby a user is able to update one rhandsontable from another. My code is as follows:
library(shiny)
library(rhandsontable)
channel <- c("TV","Radio","Digital")
start.date <- as.Date("2017-01-01")
end.date <- as.Date("2017-01-07")
date.range <- as.POSIXct((seq(start.date,end.date,by="day")), origin = "1970-01-01")
date.range <- as.data.frame(date.range)
colnames(date.range) <- c("date")
date.range[channel] <- 0
table1 <- date.range
table2 <- date.range
#Define the tables.
ui <- fluidPage(
br(),
fluidRow(
column(4, rHandsontableOutput("table1output")),
column(4, rHandsontableOutput("table2output"))
))
server <- function(input,output,session){
table <- reactiveValues()
table$table1 <- table1
table$table2 <- table2
#define reactive values as table1 and table2
output$table1output <- renderRHandsontable({rhandsontable(table$table1)})
output$table2output <- renderRHandsontable({rhandsontable(table$table2)})
#rhandsontable outputs
observeEvent(input$table1output,{
df <- hot_to_r(input$table1output)
df <- as.data.frame(df)
table$table2 <- df
})
#if a user updates table1 table2 should also update.
observeEvent(input$table2output,{
df <- hot_to_r(input$table2output)
df <- as.data.frame(df)
table$table1 <- df
})
#if a user updates table2 table1 should also update.
}
shinyApp(ui = ui, server = server)
Whenever I run the code i get the following errors:
Warning: Error in as: no method or default for coercing “character” to “NA”
I can't for the life of me get this to work! Any help would be very much appreciated!
Cheers,
Harry