【发布时间】:2021-01-15 09:22:05
【问题描述】:
我正在使用闪亮的 java 脚本开发决策树应用程序。
我有一个动态树的结构,用户可以在其中创建新的分支和节点,当用户完成他的树的构建时,他可以按一个按钮并将树的结构导出到 txt 文件中。
我想知道是否有办法避免按钮“导出到数据集”,而是在 R 全局环境中加载树,就像动态数据框一样。
用于导出树的 Java 脚本函数
/*
* Print out CSV of tree: node names
*/
function printCSV() {
var csv = "";
if (root.children) {
root.children.forEach(function (d) {
csv = csv + getCSVstring(d, "-", "", 0);
})
}
var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:attachment/text,' + encodeURI(csv);
hiddenElement.target = '_blank';
hiddenElement.download = 'TreeDataSet.txt';
hiddenElement.click();
}
HTML 代码
<button id="exportToMatrix" onclick="printCSV();">Export To DataSet</button>
app.R
library(shiny)
server = function(input, output, session){
x <- output$contents <- renderText({
data2 <<- read.table("exportToMatrix")
assign(data2,envir=.GlobalEnv)
print(summary(data))
})
}
# Run the application
shinyApp(ui = htmlTemplate("www/Tree.html"), server)
谢谢!
【问题讨论】:
-
如果您总是使用
shinyApp在控制台上运行它,那么也许从runApp返回一个值?见stackoverflow.com/a/27366929/3358272 -
但是我不想停止shinyApp,因为用户要修改应用程序我想要的是加载我使用函数 printCSV() 但在RStudio 的全球环境。谢谢!
-
但是由于闪亮的应用程序正在运行,你无论如何都不能在全局环境中做任何事情......那为什么你需要将中间值保存到全局环境中?
-
我在后台运行应用程序,所以我认为现在可以在 RStudio 环境中保存一个全局变量
标签: javascript r shiny r-environment