我已經構建了一個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, ])
})
,但我還沒有拿到我的頭在分離(),所以如果有人可以解釋,爲什麼這個作品,我會感激。