CRAN
perlにCPANがあるように、CRANというRのモジュールを公開するネットワークがあり、多くのプログラムが公開されている。
The Comprehensive R Archive Network
下記記事を参考に、PL/RでCRANから取得したモジュールを利用してみる。 zooパッケージを使って行列の欠損値を補間する(R Advent Calendar 2011) - My Life as a Mock Quant
Install R Package
パッケージのinstallはRから
r #R起動 > install.packages("zoo")
Use R Package
パッケージはlibrary(zoo)で読み込み。
行列の欠損を補完する関数を作成
CREATE OR REPLACE FUNCTION na_locf(matrix int4[][]) RETURNS int4[][] AS ' library(zoo); return(na.locf(matrix)) ' LANGUAGE 'plr'; SELECT na_locf(ARRAY[ARRAY[1,2,3],ARRAY[4,null,6],ARRAY[7,8,9]]); -- nullが2で補完される。 CREATE OR REPLACE FUNCTION na_approx(matrix int4[][]) returns int4[][] as ' library(zoo); return(0.5 * (na.approx(matrix) + t(na.approx(t(matrix))))) ' LANGUAGE 'plr'; SELECT na_approx(ARRAY[ARRAY[1,2,3],ARRAY[4,null,6],ARRAY[7,8,9]]); --nullが5で補完される。PostgreSQLとRのデータ構造の違いに気をつければライブラリの使用は比較的簡単
0 件のコメント:
コメントを投稿