INSERT INTO doc (fulltext) VALUES ( ' 開箱即用的R運作環境!RStudio Server OpenVZ虛擬機器分享 / Standalone R Environment: RStudio Server in OpenVZ Virtual Machine - 布丁布丁吃什麼?

我不是在實驗室,就是在前往實驗室的路上。

:::

開箱即用的R運作環境!RStudio Server OpenVZ虛擬機器分享 / Standalone R Environment: RStudio Server in OpenVZ Virtual Machine

11月 07, 2016 Programming/R , Software/R 0 Comments Edit Post

image

我以OpenVZ虛擬機器建立了一個獨立運作的RStudio Server,架設起來之後就能夠直接用網頁來開啟可以正常運作的R環境。它不僅預先裝好了文字探勘與資料庫所需要的套件,而且不會受到在Windows環境下處理中文發生亂碼問題的限制。架設這樣的環境費時費工,所以我決定將它做成開箱即可用的OpenVZ虛擬機器,在此跟大家分享。


OpenVZ虛擬機器應用範本檔 / RStudio Server OpenVZ Virtual Template

2016-11-07_124958

檔案大小非常大,有1.27GB。

下載完成之後,請照著Proxmox VE 3安裝與建立OpenVZ虛擬機器這篇來架設OpenVZ虛擬機器。架設時沒有特別需要調整的參數,但是網路一定要設定,因為RStudio Server主要都是透過網頁來連線的。

虛擬機器使用方法 / Virtual Machine Usage

image

以下本片以虛擬機器網路設定為192.168.56.152為例來說明如何使用這個RStudio虛擬機器。

RStudio Server

RStudio Server是透過網頁來控制,網址是IP加上連接埠8787,舉例如下:

連線順利的話可以看到以下RStudio登入畫面:

2016-11-07_130354

登入帳號與密碼預設為:

  • Username: rstudio
  • Password: password

image

登入之後就會看到上圖的畫面。這個畫面跟桌面版RStudio很像,左邊就是R Console,可以在此執行腳本。

此版本的RStudio Server已經安裝套件的列表如下:

ape flexmix memoise rngtools
biclust foreach mime robustbase
bitops fpc modeltools RPostgreSQL
cluster git2r munsell RSQLite
colorspace gridBase mvtnorm rstudioapi
curl httr openssl Rttf2pt1
DBI igraphdata pkgmaker RWeka
DEoptimR irlba prabclus RWekajars
devtools isa2 R6 Rwordseg
dichromat iterators Rcampdf slam
digest jiebaRD RColorBrewer Snowball
diptest jsonlite Rcpp SnowballC
doParallel kernlab RCurl stringi
extrafont labeling registry stringr
extrafontdb magrittr rJava  
flexclust mclust RMySQL  

附帶一提,查詢已經安裝套件的R語法如下:

installed.packages()
SSH連線 / SSH Connect

SSH的連線資訊如下:

  • Host: 伺服器的IP,例如192.168.56.152
  • Port: 22 (預設值)
  • Username / Password:
    • root / 你建立OpenVZ時設定的Password
    • rstudio / password

image

RStudio Server虛擬機器的SSH連線就跟大部分Linux伺服器一樣,你可以用PieTTY來連線到命令列,也可以用FileZilla來管理檔案。我推薦使用mRemoteNG來管理這些連線,這樣管理伺服器的工作會輕鬆許多。

帳號管理 / Account

RStudio Server的帳號跟密碼是跟Linux的作業系統綁在一起。如果進行帳號或密碼的管理,需要以SSH用root帳號登入Linux的Bash命令列來操作。

以rstudio帳號為例,更換密碼的指令為:

passwd rstudio

如果要建立帳號,除了用useradd指令建立之外,還需要設定密碼、建立該帳號的家目錄,然後轉移家目錄的擁有權給該帳號。以帳號pudding為例,建立帳號的指令為:

useradd pudding
passwd pudding
mkdir /home/pudding -p
chown pudding:pudding /home/pudding

特別是建立家目錄跟轉移擁有權這個動作,如果沒有這樣做的話,登入RStudio Server的時候就會變成「server note respond」的空白畫面,無法正常使用。

Linux帳號管理的教學細節可以參考鳥哥的Linux私房菜


結語 / Conclusion

不知不覺之間,R已經變成程式設計裡面的顯學。以前許多程式設計課程是以C++、Java為基礎,最近聽到竟然已經有系所將R作為程式設計課程的授課內容,真讓我感嘆這個世界變化的迅速。就我個人用到現在的看法,跟上述的C++、Java、甚至是JavaScript等一般的程式語言相比,我認為R還是很不一樣。

image[26]

一般的程式語言給我的感覺是「創造物品的工具」,就像是我們可以用MIT APP Inventor來建立一個可以解決問題、改善生活的工具一樣(上圖是我之前做的晚餐抽籤APP)。

相較之下,R是專門用來「分析資料、處理資料」。雖然寫法上有if / else / for迴圈等程序控制,讓人覺得它就像是一般的程式語言一樣。但是使用一陣子之後,我覺得它的分類還是比較接近SQL這種語言。當然,像是Shiny這種複雜程度的儀表板操作,可說已經是達到「創造應用」的程度了。但是我還是不太喜歡Shiny輸出的靜態圖表,真的要使用的話,我寧願改用Chart.js這種動態的圖表工具,R還是在背後處理資料就好了。

最後,如果想要學習R的話,可以從Joe所撰寫的R Basic開始認識。特別是R的各種變數類型,這跟一般的程式語言有很大的差別,請務必認真學習。

0 意見:

:::

About Me

布丁布丁吃布丁

這個布丁是在無聊的世界中找尋樂趣的一種不能吃的食物,喜愛動漫畫、遊戲、程式,以及跟世間脫節的生活步調。

Random Posts

    Guestbook

    Recent Posts

    Comments

    :::

    Buy Me A Coffee

    如果有幫到您的話,請布丁喝杯咖啡吧!

    Hit Count

    Labels

    日記 (231) 輔大圖資 (166) 電腦軟體 (127) 政大圖檔 (112) 期刊論文閱讀 (92) 作品 (75) Blogger (69) 網路管理 (69) 記事 (57) DSpace (55) 程式寫作 (48) 碩士畢業論文 (46) Proxmox (39) JavaScript (32) OS/Proxmox VE (32) 虛擬機器 (28) DLLL-CIAS (25) 研究方法 (25) Android (24) 網站服務 (24) 雲端科技與圖書館行動服務研習班(2014) (24) 新玩具 (23) 作業報告 (22) 研究所推甄 (19) Linux (18) 演講心得 (18) 資訊計量學 (17) 無題 (16) 課程/圖書資訊學研究趨勢 (16) Programming/JavaScript (14) Zotero (14) 圖資學術界 (13) PHP (12) 課程/國際檔案學 (12) VirtualBox (11) 極短 (11) GitHub (10) Zentyal (10) 課程/檔案應用研究 (9) 輔漫 (9) GLPI (8) Koha (8) Server/ownCloud (8) Windows/電腦軟體 (8) 政大平價美食 (8) 教學課程 (8) 數位圖書館 (8) KALS (7) Plurk (7) CSS (6) OS/FreeNAS (6) OS/Zentyal (6) Programming/APP (6) 報告/教學課程 (6) 發表 (6) 2009詐欺案件 (5) Programing/PHP (5) Software/LibreOffice (5) Software/R (5) Software/Windows (5) Virtual Machine/OpenVZ (5) 程式語言/JavaScript (5) 評論 (5) Library/ORCID (4) NetBeans (4) Programming/PhoneGap (4) Selenium (4) Server/OCS (4) Software/Zotero (4) 博士班考試 (4) 問答訪談 (4) 課程/資訊行為與資訊服務 (4) 讀者服務研討 (4) CKEditor (3) Drupal (3) OCS (3) OS/Linux (3) Programming/R (3) Software (3) Software/PostreSQL (3) Statistics (3) Web Service (3) 活動籌辦 (3) 演講 (3) 生活/日記 (3) 課程/檔案學 (3) 閱讀學習 (3) 3C (2) EMAIL-KM (2) IDE (2) IPFire (2) OSSIM (2) Programming/Java (2) Programming/PHP (2) Server/GitLab (2) Software/Open Live Writer (2) Software/mRemoteNG (2) Virtual Machine (2) pfSense (2) ニコニコ動画 (2) 作業系統/Linux (2) 圖書資訊學研討 (2) 布丁通信 (2) 技術服務研討 (2) 生活/政大平價美食 (2) 研究方法\序列分析 (2) 研究領域/閱讀學習 (2) 硬體設備 (2) 系統/WordPress (2) 網站系統/ownCloud (2) 輕小說 (2) 遊戲 (2) 3C/Note 8 (1) AngularJS (1) AutoIt (1) Cbox Google Analytics (1) Data Mining (1) Hardware (1) Hardware/Notebook (1) OS/Android (1) Programe/CSS (1) Programming/Database (1) Programming/Web Design (1) Second Life (1) Server/Apache (1) Server/Apache Solr (1) Software/Browser (1) Software/CWISE (1) Software/Office (1) Software/Weka (1) Software/中州韻輸入法 (1) Timemark to SSA (1) Tool/NetBeans (1) Userscript (1) Virtual Machine/Docker (1) Virtual Machine/VirtualBox (1) 國家考試 (1) 國立空中大學 (1) 專題 (1) 課程/計算智能與商業分析 (1) 販售 (1) 資訊管理/網站管理 (1) 電腦軟體/R (1) 電視 (1) View All Labels
    '); INSERT INTO doc (fulltext) VALUES (' R的文字雲怎麼都是□亂碼?wordcloud套件需要中文字形 / Why R’s wordcloud draws Chinese in □? - 布丁布丁吃什麼?

    我不是在實驗室,就是在前往實驗室的路上。

    :::

    R的文字雲怎麼都是□亂碼?wordcloud套件需要中文字形 / Why R’s wordcloud draws Chinese in □?

    11月 06, 2016 Programming/R , Software/R 0 Comments Edit Post

    image

    這篇只是很短地記錄解決在R中使用wordcloud套件畫不出中文文字雲的原因與做法。

     


    文字雲都是□亂碼 / □ word cloud

    根據Basic Text Mining in R、陳嘉葳的用R進行中文 text Mining、還有Byran的[R] TEXT MINING(文字探勘、文本分析練習)這幾篇的教學,我終於處理到可以用wordcloud套件畫文字雲的進度。

    原本的斷詞與詞頻結果如下:

    Terms    ppt2.txt ppt.txt
      公主          1       0
      原因          1       0
      同學          0       1
      名字          1       0
      地板          1       0
      小女          1       0
      手機          1       0
      水質          1       0
      畢業生        0       1
      白痴          1       0

    但是wordcloud輸出的結果卻是如下圖:

    5165309564192

    怎麼中文會變成□亂碼?難道這又是編碼(encoding)的問題嗎?

    不,作為一個Linux常識人,如果看到□的話我們第一個要想到的問題是:系統中沒有中文字形

    出現這樣的問題,其原因就是因為我使用的作業系統是英文版的Ubuntu 14.04,是全新空的作業系統,而不是一般教學文所使用的Windows。在預設英文的Ubuntu裡面沒有中文字形,那麼wordcloud當然畫不出含有中文字的文字雲囉。

    在Ubuntu中安裝中文字形 / Install Chinese Font in Ubuntu

    要安裝中文字形,我們應該就從開放原始碼的字形中來挑選。我就參考Ubuntu 安裝思源字體這篇,安裝Google推出的思源CJK字體(note)吧。

    因為這一篇我沒打算仔細講,所以大概列出我處理的大綱:

    1. 在Google Note Fonts下載字形,選擇DOWNLOAD ALL FONTS:
      https://www.google.com/get/noto/
    2. 在Linux現在使用的家目錄底下建立.fonts/noto資料夾:
      mkdir -p ~/.font/noto
    3. 從下載下來的思源字形壓縮檔Noto-hinted.zip中解壓縮副檔名為.otf的檔案,上傳到 ~/.fonts/note
    4. 建立~/.fonts.conf檔案,內容如下:
      <fontconfig>
        <match target="pattern">
          <test qual="any" name="family">
            <string>sans-serif</string>
          </test>
          <edit name="family" mode="prepend" binding="strong">
            <string>Noto Sans T Chinese</string>
            <string>Noto Sans S Chinese</string>
            <string>Noto Sans Japanese</string>
            <string>Noto Sans Korean</string>
          </edit>
        </match>
      </fontconfig>
    5. 重新開機

    再次建立文字雲 / Create word cloud again

    5165351736628

    再次回到R中執行wordcloud()產生文字雲的語法,稍等一段時間之後,就能夠正常畫出如上圖的文字雲了(結論是老婆最大?)。至於如何調整字形之間的間距、選擇顏色之類的細節,就有待後續研究。

    0 意見:

    :::

    About Me

    布丁布丁吃布丁

    這個布丁是在無聊的世界中找尋樂趣的一種不能吃的食物,喜愛動漫畫、遊戲、程式,以及跟世間脫節的生活步調。

    Random Posts

      Guestbook

      Recent Posts

      Comments

      :::

      Buy Me A Coffee

      如果有幫到您的話,請布丁喝杯咖啡吧!

      Hit Count

      Labels

      日記 (231) 輔大圖資 (166) 電腦軟體 (127) 政大圖檔 (112) 期刊論文閱讀 (92) 作品 (75) Blogger (69) 網路管理 (69) 記事 (57) DSpace (55) 程式寫作 (48) 碩士畢業論文 (46) Proxmox (39) JavaScript (32) OS/Proxmox VE (32) 虛擬機器 (28) DLLL-CIAS (25) 研究方法 (25) Android (24) 網站服務 (24) 雲端科技與圖書館行動服務研習班(2014) (24) 新玩具 (23) 作業報告 (22) 研究所推甄 (19) Linux (18) 演講心得 (18) 資訊計量學 (17) 無題 (16) 課程/圖書資訊學研究趨勢 (16) Programming/JavaScript (14) Zotero (14) 圖資學術界 (13) PHP (12) 課程/國際檔案學 (12) VirtualBox (11) 極短 (11) GitHub (10) Zentyal (10) 課程/檔案應用研究 (9) 輔漫 (9) GLPI (8) Koha (8) Server/ownCloud (8) Windows/電腦軟體 (8) 政大平價美食 (8) 教學課程 (8) 數位圖書館 (8) KALS (7) Plurk (7) CSS (6) OS/FreeNAS (6) OS/Zentyal (6) Programming/APP (6) 報告/教學課程 (6) 發表 (6) 2009詐欺案件 (5) Programing/PHP (5) Software/LibreOffice (5) Software/R (5) Software/Windows (5) Virtual Machine/OpenVZ (5) 程式語言/JavaScript (5) 評論 (5) Library/ORCID (4) NetBeans (4) Programming/PhoneGap (4) Selenium (4) Server/OCS (4) Software/Zotero (4) 博士班考試 (4) 問答訪談 (4) 課程/資訊行為與資訊服務 (4) 讀者服務研討 (4) CKEditor (3) Drupal (3) OCS (3) OS/Linux (3) Programming/R (3) Software (3) Software/PostreSQL (3) Statistics (3) Web Service (3) 活動籌辦 (3) 演講 (3) 生活/日記 (3) 課程/檔案學 (3) 閱讀學習 (3) 3C (2) EMAIL-KM (2) IDE (2) IPFire (2) OSSIM (2) Programming/Java (2) Programming/PHP (2) Server/GitLab (2) Software/Open Live Writer (2) Software/mRemoteNG (2) Virtual Machine (2) pfSense (2) ニコニコ動画 (2) 作業系統/Linux (2) 圖書資訊學研討 (2) 布丁通信 (2) 技術服務研討 (2) 生活/政大平價美食 (2) 研究方法\序列分析 (2) 研究領域/閱讀學習 (2) 硬體設備 (2) 系統/WordPress (2) 網站系統/ownCloud (2) 輕小說 (2) 遊戲 (2) 3C/Note 8 (1) AngularJS (1) AutoIt (1) Cbox Google Analytics (1) Data Mining (1) Hardware (1) Hardware/Notebook (1) OS/Android (1) Programe/CSS (1) Programming/Database (1) Programming/Web Design (1) Second Life (1) Server/Apache (1) Server/Apache Solr (1) Software/Browser (1) Software/CWISE (1) Software/Office (1) Software/Weka (1) Software/中州韻輸入法 (1) Timemark to SSA (1) Tool/NetBeans (1) Userscript (1) Virtual Machine/Docker (1) Virtual Machine/VirtualBox (1) 國家考試 (1) 國立空中大學 (1) 專題 (1) 課程/計算智能與商業分析 (1) 販售 (1) 資訊管理/網站管理 (1) 電腦軟體/R (1) 電視 (1) View All Labels
      ');