Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在全局R环境中加载动态数据帧?_Javascript_R_Shiny_R Environment - Fatal编程技术网

Javascript 如何在全局R环境中加载动态数据帧?

Javascript 如何在全局R环境中加载动态数据帧?,javascript,r,shiny,r-environment,Javascript,R,Shiny,R Environment,我正在使用shiny和java脚本开发决策树应用程序 我有一个动态树的结构,用户可以在其中创建新的分支和节点,当用户完成树的构建时,他可以按下按钮并将树的结构导出到txt文件中 我想知道是否有办法避免按钮“导出到数据集”,而是在R全局环境中加载树,就像动态数据帧一样 导出树的Java脚本函数 /* * Print out CSV of tree: node names */ function printCSV() { var csv = "";

我正在使用shiny和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)

库(闪亮)
服务器=功能(输入、输出、会话){

x在桌面上,
assign
可以创建从闪亮应用程序到
.GlobalEnv
的变量,请参见以下示例:

library(shiny)

ui <- fluidPage(
  actionButton("do", "Click Me")
)

server <- function(input, output, session) {
  counter <- reactiveVal(0)
  observeEvent(input$do, {
    counter(counter()+1)
    cat('Saving object ', counter(),'\n')
    assign(paste0("test",counter()), counter(),.GlobalEnv)
    
  })
}

shinyApp(ui, server)

在桌面上,
assign
可以将变量从闪亮的应用程序创建到
.GlobalEnv
,请参见以下示例:

library(shiny)

ui <- fluidPage(
  actionButton("do", "Click Me")
)

server <- function(input, output, session) {
  counter <- reactiveVal(0)
  observeEvent(input$do, {
    counter(counter()+1)
    cat('Saving object ', counter(),'\n')
    assign(paste0("test",counter()), counter(),.GlobalEnv)
    
  })
}

shinyApp(ui, server)

如果您总是使用
shinyApp
在控制台上运行此程序,那么可能会从
runApp
返回一个值?请参阅,但我不想停止shinyApp,因为用户将要修改应用程序,我想要的是加载我使用函数printCSV()生成的.txt文件但是在RStudio的全局环境中。谢谢!但是既然闪亮的应用程序正在运行,你无论如何不能在全局环境中做任何事情…那么为什么你需要保存一个中间值到全局环境中呢?我在后台运行应用程序,所以我想现在可以在RStudio环境中保存一个全局变量,如果你总是运行在控制台上使用
shinyApp
,然后可能会从
runApp
返回一个值?请参阅,但我不想停止shinyApp,因为用户将要修改应用程序,我想要的是加载我使用函数printCSV()生成的.txt文件但是在RStudio的全局环境中。谢谢!但是既然闪亮的应用程序正在运行,你无论如何不能在全局环境中做任何事情……那么为什么你需要将中间值保存到全局环境中呢?我正在后台运行应用程序,所以我认为现在可以在RStudio环境中保存全局变量