2016-07-12 11 views
1

나는 rHandsontable 테이블 (rhandsontable 패키지)을 가지고 있으며 이제 데이터를 테이블에서 데이터 프레임으로 전송하는 방법을 찾고 있습니다.
지금까지이 작업을 수행하는 방법을 명확하게 밝히지 못했습니다.
평범하고 명확한 예 또는 유용한 링크에 대해 매우 감사하게 생각합니다.rhandsontable 객체의 데이터를 Shiny의 데이터 프레임으로 변환

게다가, 유용한 link을 스캔했습니다. 그것은 광의의 객체를 다루는 방법에 관한 빛을 엿볼 수 있습니다.

그러나 사용 된 방법에 대한 설명은 없습니다. 그것은 블랙 박스 테스트처럼 보입니다. 이 문제에 대한 지식을 공유 할 수 있다면 좋을 것입니다. 당신이 dataframe으로 데이터 테이블을 변환 할 수 있습니다 것 hot.to.df 기능을 가지고있는 Handsontable을 사용하기 때문에

답변

2

shinyskypackage에 봐. 다음은 최소한의 예를 들어 내가

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) 
+0

답장을 보내 주셔서 감사합니다. 나는 그것을 시험 할 것이다. –

+0

필자는 그러한 스크립트 (abstract)를 사용했습니다 : print (hot.to.df (input $ all_updates $ data)). 결과는 null이며 'all_updates'객체는 중재 가능 항목입니다. rhandsontable에 'hot.to.df'가 적용됩니까? –

+0

해결책을 찾았습니다. - rhandsontable 패키지에서 'hot_to_r'함수. 그것은 데이터 프레임으로 변환합니다. 내 대답을 확인할 수 있습니다. –

0

음을 의미하는 것을 보여주고있다, 나는 R.에서 dataframe에 rhandsontable 개체를 변환하는 방법을 발견했다

기능 'hot_to_r'하지만 매우 쉬운 것 같다

전체 기능 설명은 입니다.입니다.

CRAN의 package description (pdf) 외부에서 몇 가지 예와 설명을 찾아보십시오. 제 경우에는 블랙 박스 테스트를 사용했습니다.

test_case <- hot_to_r(input$all_updates) 

변수 'test_case'는 dataframe입니다 :

은 여기 내 경우입니다.

+0

이 코드는 어디에 있습니까? 게시 할 수있는 최소한의 실례가 있습니까? – Matt

+0

@Matt 정확히보고 싶습니까? 다음은 서버 측의 작업 스크립트입니다. zzz <- hot_to_r (input $ all_updates); 인쇄 (zzz); predictor_vector <- rep (예측 자, nrow (zzz)); zzz <-cbind (predictor_vector, zzz); colnames (zzz) [1] <- 'predictor'; –