プライマリ・コンテンツに移動
Oracle® R Enterpriseユーザーズ・ガイド
リリース1.5
E67082-02
目次へ移動
目次
索引へ移動
索引

前
前へ
次
次へ

1.4.1 透過層について

Oracle R Enterpriseの透過層は、OREbaseOREgraphicsおよびOREstatsのパッケージで実装されます。これらのOracle R Enterpriseパッケージには、オープン・ソースRのbasegraphicsおよびstatsのパッケージに関数のオーバーロードされたメソッドがそれぞれ含まれています。また、Oracle R Enterpriseパッケージには、一部のオープン・ソースR関数のOracle R Enterprise版も含まれています。

これらのパッケージのメソッドおよび関数を使用することで、Oracle Databaseインスタンスのデータを指定するRオブジェクトを作成できます。そのようなオブジェクトを使用するR式を実行すると、メソッドおよび関数はSQL問合せを透過的に生成してデータベースに送信します。その後、データベースはその問合せを実行して、操作の結果をRオブジェクトとして返します。

データベース表またはビューは、data.frameのサブクラスであるore.frameオブジェクトで表されます。その他のOracle R Enterpriseクラスは、ore.vectorvectorなどの対応するRクラスから継承されます。Oracle R Enterpriseは、Oracle Databaseのデータ型をOracle R Enterpriseのクラスに(NUMBER ore.integerに)マップします。Oracle R Enterpriseのデータ型およびオブジェクト・マッピングの詳細は、「Rのデータ型およびクラスの透過層サポート」を参照してください。

透過層メソッドおよび関数を使用して、分析用のデータベース常駐データを準備できます。次に、他のOracle R Enterpriseパッケージの関数を使用して、モデルを構築および適合し、それを使用してデータをスコアリングできます。大規模なデータセットでは、Oracle Databaseに埋め込まれたRエンジンを使用してモデリングおよびスコアリングを実行できます。

関連項目:

例1-2 Rでの種ごとの花弁の長さの平均の調査

この例では、SQLへのR関数呼出しの変換を示します。これは、オーバーロードされたOracle R Enterpriseのaggregate関数を使用して、例1-2IRIS_TABLEオブジェクトから花弁の長さの平均を取得します。

aggplen = aggregate(IRIS_TABLE$Petal.Length,
                    by = list(species = IRIS_TABLE$Species),
                    FUN = mean)
aggplen
例1-2のリスト
R> aggplen = aggregate(IRIS_TABLE$Petal.Length,
                       by = list(species = IRIS_TABLE$Species),
                       FUN = mean)
R> aggplen
              species     x
setosa         setosa 1.462
versicolor versicolor 4.260
virginica   virginica 5.552

例1-3 例1-2に対応するSQL

この例では、例1-2aggregate関数に対応するSQLを示します。

SELECT "Species", AVG("Petal.Length")
FROM IRIS_TABLE
GROUP BY "Species"
ORDER BY "Species";
 
Species     AVG("PETAL.LENGTH") 
----------- ------------------- 
setosa       1.4620000000000002 
versicolor   4.26
virginica    5.552