R軟體 svSocket Server + PHP Socket Client

R 軟體中有一個 svSocket 套件可以讓 R 成為 Socket Server,其優點是啟動 Server 後轉為背後執行,R 軟體可以繼續作其他事情,但目前僅找得到 R 與 tcl 相對於 svSocket 的 Client 程式範例。以下是我用 PHP 當作 Socket Client 連接後端 R svSocket Server 的測試結果。

(繼續閱讀…)


 

R: tryCatch 簡單範例

R 軟體用於實務分析時,經常需要搭配定期自動執行軟體,以 Batch mode 方式在背景執行,但若 R 程式中某些地方發生錯誤,整個 R 程式往往就會停在出錯的地方,對於大型應用程式而言會造成很多困擾。此時,R 軟體的 tryCatch 函數可以協助偵測並解決 R 程式遇到錯誤時被強迫終止的問題,可讓出錯程式碼下方其他的程式繼續執行。

網路上關於 tryCatch 函數的例子通常都寫得很囉唆、語焉不詳,所以我在這裡提供幾個簡單的應用範例。

(繼續閱讀…)


 

為什麼我們看不懂別人寫的 R 程式?

外界在提到 R 軟體時,在褒獎之餘,總是人云亦云地會順便提到「R 軟體的學習曲線頗陡峭」。我思考了幾個可能原因,想到以前我在學 Perl 程式語言的經驗。當時我買了好幾本 Perl 的書,但後來放棄的原因,是我看到網路上有經驗的人寫的 Perl 程式時,經常會在書上找不到他們用的特殊奇怪語法,這讓我非常氣餒。

關於「R 很難學」的迷思,可能的原因之一,或許就是這種「初學者看不懂程式」的挫折使然。所以這裡我列出一些 R 軟體有別於其他程式語言的常見特殊寫法,或許能幫忙一些初學者度過第一關。

(繼續閱讀…)


 

gunrock 圖結構(graph) GPU 函數庫在 Debian Linux 上的安裝

gunrock 是一套可用 GPU 平行運算的圖(Graph)結構 C++ 函數庫。這裡的 Graph 不是指「畫圖」,而是許多端點(Vertex)跟連結線(Edge)所形成的類似腦神經連結的幾何結構體。

Graph(圖)結構可以用來分析各式複雜的現象, 例如社群網路使用者彼此之間的關係與小群體是否相似,也可以模擬人類腦神經之間的結構,DNA 結構的相似性等等,應用非常廣泛。

(繼續閱讀…)


 

Debian Linux (Wheezy) R-3.4.0 kmcudaR 套件安裝錯誤之修改

今天看到 R 軟體一個新套件 kmcudaR,裡面有新的 kmean 跟 knn 函數,宣稱可以使用 GPU,並且採用新的「Yinyang K-Means」(陰陽 K-Means?) 演算法,速度比傳統的 K-Means 集群法還快 1.6 倍到 2 倍,目前只有 Linux 跟 Mac 版本。

所以我就在我 Linux 機器上用 R 的 install.packages 方法嘗試安裝,結果出現 compile 錯誤。這裡把我自己修正該套件原始碼錯誤的步驟紀錄一下。
(繼續閱讀…)