使用 shinyapps 建立網站

內容說明

shinyapps 也是一個說坑不坑,建立起來速度很快,但是又有很多小細節要處理。
以下紀錄 shinyapps 怎麼建立網站與需要注意的地方

前置作業

  • 需要有 R
  • 需要註冊 shinyapps 這網站教學不錯,建議點擊
  • you need server.R and ui.R

安裝教學

  1. 首先需要安裝 rsconnect

    1
    install.packages("rsconnect")
  2. 點擊網站查看關於 shinyapps 的教學

  3. 執行!
    很簡單吧,一下子就完成了。這時候直接按 R studio 右上角的 run 即可,如果測試成功後,可直接點擊發布

  4. 發布

    先點擊右上角的紅色圈圈,跳出視窗後點擊 publish,稍等一刻就可以看到結果拉!

錯誤排除

等等,為甚麼我出來的是一段英文字母不是我的網頁阿

漂亮,兄弟。你已進入到 shinyapps 深淵中的第一步,還有好多步在等著你喔 QwQ。

所有程式碼都必須要用 utf-8 編碼

只要是需要上傳至 shinyapps 的都必須需要使用 utf-8 編碼,否則無法上傳成功。並在 source 屬性內加入 local=TRUE

1
source(path , local=TRUE)

有用到其他檔案,但是無法推送給 server 成功

這就需要特別注意了,這邊我也是花了約 1 小時才找出問題,如果你需要用到其他檔案一定要在 server.R and ui.R 的目錄層下,不然他沒辦法跑動。
P.S. 我猜測她是會直接把 server.R and ui.R 裡面的資料全部推送給 shinyapps。

如果你真的很需要很需要用到中文,那怎麼辦?

目前根據我的嘗試,你只要能夠將中文放在 server.R 或是 其他 source,是可以成功出現中文字體。其他方式我還沒嘗試需要各位的努力拉!

連結說明

Web 基本觀念 - 相對路徑 和 絕對路徑
為什麼我的應用程序可以在本地運行,而不能在Shinyapps.io上運行?

程式若有提到路徑則全必須使用相對路徑

如果你是使用絕對路徑,非常高的機率會出錯,可以去 shinyapps 的 log 檔查看,應該會出現

1
Warning: Error in file: 無法開啟連結

這裡使用相對路徑則沒有問題

如果有從外部加入檔案,但檔案編碼並非是 utf-8 則需要特別注意

我這次的經驗為 csv 編碼是用 big5,所以當我程式碼都有使用 utf-8 編碼時,他還是跟我說這裡出現問題,在我花了許多時間去除錯後,根據其他大佬得出如果外部檔案並非使用 utf-8,必須先在將檔案讀入程式時增加 fileEncoding = “編碼代號”,即可完成。

連結說明

讀取csv檔的小問題
Invalid multibyte string in read.csv

我覺得這應該會很有用,但是我現在還用不到

由於我在翻找資料的過程中,找到一篇文章。感覺會對未來有幫助,所以先留下來
[已解决] shinyapps 的中文显示问题

R shiny 一些小技巧

可以的話,盡量不要將資料寫在 mainpanel,寫在 tabPanel,可以少掉一些使用者如果來回點擊網頁時,先前網頁的畫面內容殘留。

心得

其實要很感謝寫 shiny 套件,還讓我們免費發佈在 shinyapps 的強大團隊,才有辦法讓我僅僅只使用 R,就可以讓我獨自一人建立網站,雖然有很多坑、很多雷點,但是其實只要修復好了,我對於雷點甚麼的就沒那麼怨恨XD,雖然當下還是會不開心拉,但是現在的我因為有 shiny 幫助我,反而更開心!也謝謝北市大教授 魏惠貞 給我機會讓我學習到,真的很謝謝老師。

更新日誌

2020-07-20 14:45:16 - 建立文章
2020-07-28 20:42:25 - 增加錯誤排除

  1. 有用到其他檔案,但是無法推送給 server 成功
  2. 如果你真的很需要很需要用到中文,那怎麼辦?
  3. 所有程式碼都必須要用 utf-8 編碼
  • 版權聲明: 本部落格所有文章除有特別聲明外,均採用 Apache License 2.0 許可協議。轉載請註明出處!
  • © 2020-2024 John Doe
  • Powered by Hexo Theme Ayer
  • PV: UV: