用参数

时间:2016-03-19 14:15:40

标签: r shiny

我想知道是否可以启动一个闪亮的应用程序并将参数传递给它。

例如,假设我想要做一些数据集的直方图。如果我提前知道数据集,那么我可以将其保存在相应的目录中,并在应用程序运行后将其输入。但是,如果我不知道用户可能想要使用哪种数据集呢?

我实际上已经想到了2个一般的解决方案:

1)我可以在R中有一个小的包装程序,它首先将数据写入某个临时目录,然后在闪亮的内部我可以使用扫描或读取。我不喜欢这个的原因是我希望例程在其他人的计算机上运行,​​而不管它们的文件夹和操作系统如何,我相信这无处不在。

2)与第一个解决方案类似,不同之处在于我在R中使用dump("data","clipboard),然后在source("clipboard")中使用闪亮。再次,这在我的计算机上工作正常,但我担心它不一定适用于其他人。

所以我的问题是,是否有更优雅的解决方案可以依赖于(几乎)所有计算机?

这是一个简单的“复制到剪贴板”的例子:说我想在Shiny中显示一个散点图。首先我在R中写一个例程:

shinyPlot <- function (x) 
  {
    dump("x","clipboard")
    runApp("c:/r/shiny/test")
  }

现在我有了ui.R

shinyUI(fluidPage(
  sidebarLayout(
      sidebarPanel(),
      mainPanel(
        plotOutput("plot")
      )
  )    
))    

和server.R

shinyServer(function(input, output) {

  data <- reactive({
    source("clipboard")
    x
  })          
  output$plot <- renderPlot({
      plot(data())
  })
})

现在我可以在R

中运行
  

shinyPlot(忠实)

这在我的电脑上工作正常。但正如我所说,我不确定它是否适用于所有计算机。无论如何,是否有更优雅的解决方案?

0 个答案:

没有答案