将数据从rhandsontable对象转换为Shiny

时间:2016-07-12 08:46:26

标签: r shiny handsontable rhandsontable

我有一个rHandsontable表( rhandsontable包),现在我正在寻找一种如何将数据从表中传输到数据帧的方法。
到目前为止,我还没有找到明确的线索如何完成这一行动 我将非常感谢这个简单明了的例子或有用的链接。

此外,我已经扫描了一个有用的link。它抛出了关于如何操纵rhandsontable对象内部数据的一瞥。

但是没有找到关于使用方法的解释。它看起来像一个黑盒测试。如果你能分享一些关于这个问题的知识(如果有的话),那就太好了。

2 个答案:

答案 0 :(得分:2)

查看Handsontable package,因为它使用hot.to.df,其dataframe函数允许您将数据表转换为rm(list = ls()) library(shiny) library(shinysky) server <- shinyServer(function(input, output, session) { # Initiate your table previous <- reactive({head(mtcars)}) Trigger_orders <- reactive({ if(is.null(input$hotable1)){return(previous())} else if(!identical(previous(),input$hotable1)){ # hot.to.df function will convert your updated table into the dataframe as.data.frame(hot.to.df(input$hotable1)) } }) output$hotable1 <- renderHotable({Trigger_orders()}, readOnly = F) # You can see the changes you made output$tbl = DT::renderDataTable(Trigger_orders()) }) ui <- basicPage(mainPanel(column(6,hotable("hotable1")),column(6,DT::dataTableOutput('tbl')))) shinyApp(ui, server) 。下面是一个显示我的意思的最小例子

 var num_rows_php;
    var num_rows_sessions_php;
    var num_rows_session_php_teste;

    $.ajax({
    url: 'verify_num_rows.php',
    success: function(){
    num_rows_php = "<?php echo $my_num_rows; ?>";
    num_rows_session_php = "<?php echo $_SESSION['transaction_count']; ?>";
    num_rows_session_php_teste = "<?php echo $_SESSION['teste_num']; ?>";
    alert('num_rows_session' + num_rows_session_php);
    alert('num rows session php teste' + num_rows_session_php_teste);
    },

    });

    alert('teste fora do ajax' + num_rows_session_php_teste);

答案 1 :(得分:0)

好吧,我找到了将rhandsontable对象转换为R中的数据帧的方法。

使用'hot_to_r'功能似乎很容易,但整体功能描述

请在CRAN上查看package description (pdf)之外的一些示例和解释。在我的情况下,我使用了黑盒测试。

以下是我的案例:

test_case <- hot_to_r(input$all_updates)

变量'test_case'是一个数据帧。