2015-09-28 29 views
0

我已經構建了一個Shiny dashboard應用程序,該應用程序顯示大學學院科學文章的一些度量數據。該應用程序在https://ttso.shinyapps.io/2amconf和代碼https://gist.github.com/tts/900b4e27bf37e8969ebd與一些示例數據文件dataforcharts.csv這是我的問題的數據源在這裏。在Shiny儀表板中更新rCharts nvd3圖表

我的問題是登陸標籤上的NVD3圖表。

首先它會從選定的學校中抽取所選最多2項(=物品),即全部開頭。但是每當我選擇一些學校 - 並selectizeInput然後更新該學校的項目列表 - 什麼也沒有發生。

我試着調試一下發生了什麼。

validate(
    need(!is.null(itemsData()), "Please select some items") 
) 

dataC <- itemsData() 

browser() 

當執行停在那裏時,我可以看到dataC包含所選的數據。

控制檯輸出的選項(shiny.trace = TRUE)很健談,但我無法真正瞭解它試圖告訴我什麼。這是圖表應該使用新數據呈現的最後一條消息的片段,但不包含。

SEND {"errors":[],"values":{"chart":"<style>.rChart {width: 800px; 
height: 400px} </style>\n<script type='text/javascript'>\n 
$(document).ready(function(){\n  drawchart()\n });\n 
function drawchart(){ \n  var opts = {\n \"dom\": 
\"chart\",\n\"width\": 800,\n\"height\": 400,\n\"x\": 
\"id\",\n\"y\": \"value\",\n\"group\": \"variable\",\n\"type\": 
\"multiBarChart\",\n\"id\": \"chart\" \n},\n  data = 
[ TEXT CUT OFF ] drawchart(){ \n n  return chart;\n 
});\n };\n</script>"},"inputMessages":[]} 

再次,數據=包括正確的,所選擇的數據。

我的反應值有問題嗎?

觀察後編輯:如果我在切換到另一個學校之前刪除所有選定的項目,這是有效的。

於是,經過一番審訊&錯誤,這看起來很有希望:

itemsData <- reactive({ 

    if(is.null(input$items)){ 
    return(NULL) 
    } 

isolate(selectedSchoolData()[selectedSchoolData()$Title %in% 
input$items, ]) 

}) 

,但我還沒有拿到我的頭在分離(),所以如果有人可以解釋,爲什麼這個作品,我會感激。

回答

0

我決定和這一起去。

itemsData <- reactive({ 

    if(is.null(input$items)){ 
    return(NULL) 
} 

    isolate(selectedSchoolData()[selectedSchoolData()$Title %in% 
    input$items, ]) 

})