在闪亮的应用程序中存储 RHandsontable 的编辑
Store edits of RHandsontable in a Shiny application
我有一个闪亮的应用程序,它在 .csv 文件中生成读取并生成 editable table.
library(dplyr)
library(rhandsontable)
options(shiny.maxRequestSize = 9*1024^2)
function(input, output) {
values <- reactiveValues()
Post <- c("Bank", "Bank")
list2 <- c(12,13)
df <- data.frame(Post, list2)
Post <- c("Ba", "Ba")
list2 <- c(12,13)
df2 <- data.frame(Post, list2)
performTextMining <- reactive({
df$Post <- as.character(df$Post)
df <- df %>% filter(Post == "Bank")
return(df)
})
output$contents <- renderRHandsontable({
items <- c("Boodschappen", "Noodzakelijk")
inFile <- input$file1
if (is.null(inFile))
return(NULL)
df <- read.csv(inFile$datapath, header = input$header,
sep = input$sep, quote = input$quote)
#performTextMining()
rhandsontable(df, width = 550, height = 300) %>%
hot_col(col = "Post", type = "dropdown", source = items)
})
filterData <- function(){
setwd("C:/Users/Marc/Dropbox/PROJECTEN/Lopend/visualistation_training/shiny_examples")
write.csv(df, file = "MyData.csv")
}
saveData <- function(){
finalDF <- isolate(values[["df"]])
setwd("C:/Users/Marc/Dropbox/PROJECTEN/Lopend/visualistation_training/shiny_examples")
write.csv(finalDF, file = "MyData.csv")
}
observeEvent(input$saveBtn, saveData())
observeEvent(input$writeBtn, filterData())
}
但是我想做的是使用保存按钮来存储在 table 中所做的编辑,然后写入一个 .csv 文件。
因此我创建了一个保存按钮:
observeEvent(input$writeBtn, filterData())
触发以下函数:
saveData <- function(){
finalDF <- isolate(values[["df"]])
setwd("C:/Users/Marc/Dropbox/PROJECTEN/Lopend/visualistation_training/shiny_examples")
write.csv(finalDF, file = "MyData.csv")
}
然而,这给我留下了一个空的 .csv 文件。想知道这里出了什么问题吗?
要从编辑后的 rhandsontable
中获取数据,需要调用 hot_to_r()
函数。在上述情况下应用此代码 - 代码应如下所示:
saveData <- function() {
finalDF <- hot_to_r(input$contents)
write.csv(
finalDF,
file = "C:/Users/Marc/Dropbox/PROJECTEN/Lopend/visualistation_training/shiny_examples/MyData.csv"
)
}
我有一个闪亮的应用程序,它在 .csv 文件中生成读取并生成 editable table.
library(dplyr)
library(rhandsontable)
options(shiny.maxRequestSize = 9*1024^2)
function(input, output) {
values <- reactiveValues()
Post <- c("Bank", "Bank")
list2 <- c(12,13)
df <- data.frame(Post, list2)
Post <- c("Ba", "Ba")
list2 <- c(12,13)
df2 <- data.frame(Post, list2)
performTextMining <- reactive({
df$Post <- as.character(df$Post)
df <- df %>% filter(Post == "Bank")
return(df)
})
output$contents <- renderRHandsontable({
items <- c("Boodschappen", "Noodzakelijk")
inFile <- input$file1
if (is.null(inFile))
return(NULL)
df <- read.csv(inFile$datapath, header = input$header,
sep = input$sep, quote = input$quote)
#performTextMining()
rhandsontable(df, width = 550, height = 300) %>%
hot_col(col = "Post", type = "dropdown", source = items)
})
filterData <- function(){
setwd("C:/Users/Marc/Dropbox/PROJECTEN/Lopend/visualistation_training/shiny_examples")
write.csv(df, file = "MyData.csv")
}
saveData <- function(){
finalDF <- isolate(values[["df"]])
setwd("C:/Users/Marc/Dropbox/PROJECTEN/Lopend/visualistation_training/shiny_examples")
write.csv(finalDF, file = "MyData.csv")
}
observeEvent(input$saveBtn, saveData())
observeEvent(input$writeBtn, filterData())
}
但是我想做的是使用保存按钮来存储在 table 中所做的编辑,然后写入一个 .csv 文件。
因此我创建了一个保存按钮:
observeEvent(input$writeBtn, filterData())
触发以下函数:
saveData <- function(){
finalDF <- isolate(values[["df"]])
setwd("C:/Users/Marc/Dropbox/PROJECTEN/Lopend/visualistation_training/shiny_examples")
write.csv(finalDF, file = "MyData.csv")
}
然而,这给我留下了一个空的 .csv 文件。想知道这里出了什么问题吗?
要从编辑后的 rhandsontable
中获取数据,需要调用 hot_to_r()
函数。在上述情况下应用此代码 - 代码应如下所示:
saveData <- function() {
finalDF <- hot_to_r(input$contents)
write.csv(
finalDF,
file = "C:/Users/Marc/Dropbox/PROJECTEN/Lopend/visualistation_training/shiny_examples/MyData.csv"
)
}