闪亮:reactive() 检查 read.csv
Shiny: reactive() check on read.csv
我正在编写 shiny 的服务器脚本,我希望 reactive() 首先检查我的 c 驱动器上的数据,如果它在那里,那么很好,否则进行其他数据处理并将其保存以供下一次迭代。
并且数据的名称依赖于 input$var
这样下次创建图表就会非常快
以下只是我的大问题 运行 的一个例子
library(shiny)
library(datasets)
library(ggplot2)
mt=mtcars
shinyServer(function(input, output) {
data1 =reactive({
if(file.exists("input$var.csv")
{data=read.csv(input$var.csv)})
else{
data=mt[mt$cyl==input$var,]
write.csv(data,file="c:\input$var.csv")
}
})
output$Plot1 <- renderPlot({
data2=data1()
ggplot(data2$d,aes(x=gear,y=wt))+geom_boxplot() })
})
使用 paste0
就像 timfaber 说的那样。在处理文件的 R 函数中,您必须提供完整的字符串,然后 paste0
允许您提供类似 "name_with_what_is_in_input$var.csv" 的字符串.
ibrary(shiny)
library(datasets)
library(ggplot2)
mt=mtcars
shinyServer(function(input, output) {
data1 =reactive({
if(file.exists(paste0(input$var,".csv"))
{data=read.csv(paste0(input$var,".csv"))})
else{
data=mt[mt$cyl==input$var,]
write.csv(data,file=paste0("c:\",input$var,".csv"))
}
})
output$Plot1 <- renderPlot({
data2=data1()
ggplot(data2$d,aes(x=gear,y=wt))+geom_boxplot() })
})
我正在编写 shiny 的服务器脚本,我希望 reactive() 首先检查我的 c 驱动器上的数据,如果它在那里,那么很好,否则进行其他数据处理并将其保存以供下一次迭代。 并且数据的名称依赖于 input$var
这样下次创建图表就会非常快
以下只是我的大问题 运行 的一个例子
library(shiny)
library(datasets)
library(ggplot2)
mt=mtcars
shinyServer(function(input, output) {
data1 =reactive({
if(file.exists("input$var.csv")
{data=read.csv(input$var.csv)})
else{
data=mt[mt$cyl==input$var,]
write.csv(data,file="c:\input$var.csv")
}
})
output$Plot1 <- renderPlot({
data2=data1()
ggplot(data2$d,aes(x=gear,y=wt))+geom_boxplot() })
})
使用 paste0
就像 timfaber 说的那样。在处理文件的 R 函数中,您必须提供完整的字符串,然后 paste0
允许您提供类似 "name_with_what_is_in_input$var.csv" 的字符串.
ibrary(shiny)
library(datasets)
library(ggplot2)
mt=mtcars
shinyServer(function(input, output) {
data1 =reactive({
if(file.exists(paste0(input$var,".csv"))
{data=read.csv(paste0(input$var,".csv"))})
else{
data=mt[mt$cyl==input$var,]
write.csv(data,file=paste0("c:\",input$var,".csv"))
}
})
output$Plot1 <- renderPlot({
data2=data1()
ggplot(data2$d,aes(x=gear,y=wt))+geom_boxplot() })
})