ユーザーがファイルをアップロードして、アプリでレンダリングされるネットワークを定義できるようにする必要があります。
パラメータを変更して、特別な光沢のある github パッケージ「rcytoscapejs」を介して展開されるインタラクティブな光沢のあるグラフを再レンダリングしたいと思います: https://github.com/cytoscape/r-cytoscape.js/tree/master
グラフは正常に展開されますが、私の問題は、サーバーとは関係なく、UI からのみ展開できることです...
g<-createCytoscapeJsNetwork(nodeData = nodes, edgeData = edge)
#ui.R
dashboardBody(
sliderInput(inputId="num", label="Choose coef", value=2, min=1, max=3),
rcytoscapejs(g$nodes, g$edges)
)
ご覧のとおり、これはサーバーから完全に公平です。次のような方法でサーバー内にコードを実装しようとすると、次のようになります。
#ui.R
graphOutput("graph")
#server.R
output$graph<-renderGraph({rcytoscapejs(g$nodes, g$edges)})
「graphOutput」と「renderGraph」を試しましたが、関数が存在しないようです...
「renderGraph」をgithubからダウンロードしてみました。
devtools::install_github("mfontcada/renderGraph");
Downloading GitHub repo mfontcada/renderGraph@master
from URL https://api.github.com/repos/mfontcada/renderGraph/zipball/master
Error: Does not appear to be an R package (no DESCRIPTION)
しかし、そのパッケージはバージョン 0.1 で、2014 年から更新されていません...
最終的に私の質問は、「ui.R」コードにあるもののパラメーターをどのように変更できるかということです???
次のようなもの (ファイル アップロード コードはhttp://shiny.rstudio.com/gallery/file-upload.htmlから取得):
server <- function(input, output) {
dataInput <- eventReactive(input$choices, {
inFile <- input$file1
if (is.null(inFile))
return(NULL)
read.csv(inFile$datapath, header = input$header, sep = input$sep, quote = input$quote)
createCytoscapeJsNetwork(nodeData = nodes, edgeData = edge)
})
}
#ui.R
actionButton("choices", "Run analyses"),
fileInput('file1', 'Choose file to upload',
accept = c(
'text/csv',
'text/comma-separated-values',
'text/tab-separated-values',
'text/plain',
'.csv',
'.tsv'
),
rcytoscapejs(dataInput()$nodes, dataInput()$edges),
もちろん、これはエラーを返します.ui.Rスクリプト内のパラメーターを変更することはできません....
これを回避する方法に関するヒントはありますか?