Pipes
Pipe operator (管線運算子) 是 R 語言一個很大的特色,學會 pipe 語法可以讓程式碼更簡潔更清楚,而且在 raw data 檔案很大的時候還能節省記憶體空間。
什麼是 Pipes
A chain of data-processing stages
Pipeline (管道) 的概念其實在 Unix 系統常常用到,意思是「把一系列標準輸入輸出串接起來」,也就是把前一次指令的輸出,當成下一次指令的輸入。
以數學的概念來想,其實就是合成函數:(g。f)(x) = g(f(x))(g。f)(x)=g(f(x))
x 先丟進 f 這個函數,再把 f(x) 丟進 g(x) 這個函數。所以可以想成:
在其他的程式語言,要嘛就是把所有的函數寫在同一行:
但是當要串接的函數不只兩個,或是函數名稱很長的時候,code 就會變得很醜,而且易讀性就下降很多。
所以通常大家都是用其他變數去接前一個函數輸出的結果:
但是當 raw data 的資料量很大,這樣做會浪費很多記憶體空間(因為另外用其他變數去存取,這些變數也會占記憶體),可能就會當機。
但是在 R ,只要用 pipes 就可以了喔!
所以,大家來認真學習 pipes 吧!
學習資源
Last updated