R語言shiny包的學習

2022-08-22 08:27:13 字數 1460 閱讀 2023

乙個shiny應用可以分為兩部分:前端和後端,其實所有的shiny應用都是基於以下的模版:

ui = fluidpage()

server = function(input, output) {}

其中,fluidpage中主要有兩部分:輸入函式,和輸出函式

輸入函式

輸入函式基本上都是以 *input的形式,主要有以下

輸出函式,有以下幾種:

而將輸入轉化為輸出的函式,便是server()函式了,寫server()函式有3步:

用output\$**來儲存要輸出的物件,例如output\$hist, 其中hist就是plotoutput中所命名的

用render*()來建立要輸出的物件,其中render*()函式有以下各種:renderdatatable(),renderimage(),renderplot(),renderprint(),rendertable(),rendertext(),renderui()

用input$* 來連線呼叫input中的引數

shiny的基本用法就是這樣了,下面是個完整的小案例:

library(shiny)

ui sliderinput(inputid = "num",

label = "choose a number",

value = 25, min = 1, max = 100),

plotoutput("hist")

) server

}更多的shiny應用案例見

另外,響應表示式的兩種方法(例如用於生成一組隨機數,在不同的地方呼叫,保證是呼叫的同一組數):

此外,還有一些其他可能會用到的函式:

將結果作為非反應性值返回:isolate({}),例如  hist(rnorm(input$num),main = isolate())

observeevent()監聽事件 observeevent(input$clicks, ), 更多button使用方法見此(點選)

observe()觸發**在伺服器上執行,使用語法與render*(), reactive(), and isolate()相同

eventreactive()延遲按鈕事件等,用法與reactive()相同

reactivevalues()建立乙個響應值的列表來進行程式設計操作,例如

嵌入html的兩種方法:

布局的兩個主要函式:

面板布局,有以下多種:

還有一些預定義好的一些布局:

shiny所用的是bootstrap 3 css框架。

嵌入css樣式有3中方法:

然後用fluidpage()的theme屬性設定為css檔案的名字,或者用tags$head進行設定,如下 tags$head( tags$link( rel = "stylesheet", type = "text/css", href = "file.css" ) )

shiny的中文教程見此,其中有關於從客戶端獲取資料的內容。

包r語言 R語言入門之R包的安裝

install.packages metafor 即可順利安裝該r包。install.packages biocmanager library biocmanager install edger 3 接下來便是安裝源自github 的r包了,它的步驟和安裝源自bioconductor的r包類似,需要...

R語言執行shiny的函式報錯的解決辦法

今天記錄乙個r語言中報錯的解決辦法。shiny執行runexample 01 hello 或者其他函式使出現報錯,如下 我嘗試了很多解決辦法,在網上找了多篇教程,有的說重新安裝r語言或者rstudio,也多次嘗試了重新安裝shiny包以及配置環境,但都沒有達到目的。在多次嘗試之後,我找到了乙個比較笨...

r語言安裝r包

cran,bioconductor還有github。bioconductor一般都是生物資訊方面的r包。github是 的託管平台,很多軟體,多種語言的程式包也都在這裡發布。install.packages dyplr 注意 更改映象 options repos c cran options bio...