我想知道是否可以启动一个闪亮的应用程序并将参数传递给它。
例如,假设我想要做一些数据集的直方图。如果我提前知道数据集,那么我可以将其保存在相应的目录中,并在应用程序运行后将其输入。但是,如果我不知道用户可能想要使用哪种数据集呢?
我实际上已经想到了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(忠实)
这在我的电脑上工作正常。但正如我所说,我不确定它是否适用于所有计算机。无论如何,是否有更优雅的解决方案?