この章ではOracle R Enterpriseの概要を説明します。この章の内容は次のとおりです。
|
関連項目: 『Oracle R Enterpriseインストレーションおよび管理ガイド』 |
Oracle R Enterpriseは、Oracle Database Enterprise EditionのOracle Advanced Analyticsオプションのコンポーネントの1つです。Oracle R Enterpriseは、本番環境への迅速なデプロイが可能な、Rでのエンドツーエンド分析プロセス用の包括的なデータベース集中型の環境です。これは、RパッケージおよびOracle Database機能のセットで、Rユーザーは、SQLを使用せずにデータベース常駐データを操作でき、そのデータベース・サーバーで稼働する1つ以上の埋込みRエンジンでRスクリプトを実行できます。
Oracle R EnterpriseをローカルのRセッションから使用すると、Oracle Databaseインスタンスのデータに簡単にアクセスできます。データベース表のデータを指定するRオブジェクトを作成および使用できます。Oracle R Enterpriseには、R操作をデータベース内で実行するSQLに変換するオーバーロードされた関数があります。データベースはSQLを統合し、SQL文の実行時に、問合せの最適化、パラレル処理およびデータベースのスケーラビリティ機能を使用できます。データベースは結果をRオブジェクトとして返します。
埋込みRの実行は、Oracle R Enterpriseの使用による最も重要な利点のいくつかを提供します。埋込みRの実行を使用すると、RインタフェースまたはSQLインタフェース、あるいは両方を介してデータベース内のRスクリプトを格納および実行できます。Rスクリプトの結果を、構造化データ、Rオブジェクトおよびイメージに対するSQL対応のツールで使用できます。
Oracle R Enterpriseを使用したOracle Databaseインスタンスのデータの準備および分析では、Rユーザーにとって多くの利点があります。Oracle R Enterpriseを使用して、次のことを実行できます。
SQLを使用せずにデータベース常駐データを操作。Oracle R Enterpriseには、標準のR構文をSQLに透過的に変換するオーバーロードされたオープン・ソースRのメソッドおよび関数があります。これらのメソッドおよび関数は、Oracle R Enterpriseの透過層を実装するパッケージに含まれています。これらの関数およびメソッドを使用することで、データベースに常駐するデータに対するアクセス、分析および操作を行うRオブジェクトを作成できます。データベースは、SQLを自動的に最適化して問合せの効率を向上できます。
データの移動を排除。データベースにデータを保持することによって、デスクトップ・コンピュータへのデータの転送にかかる時間およびデータをローカルに格納する必要性をなくします。また、ローカルに格納したデータの管理(データ・ファイルの適切な場所への配布、本番データベースで行われた変更とのデータの同期などのタスクが含まれます)を必要なくします。
データをセキュアに保持。データをデータベースに保持することによって、データ管理用のOracle Databaseのセキュリティ、スケーラビリティ、信頼性およびバックアップの各機能を利用できます。
データベースの能力を使用。データベース常駐データを直接操作することによって、データベースのメモリーおよび処理能力を使用でき、クライアントのRセッションのメモリーの制約を回避できます。
最新のデータを使用。データはデータベースでリフレッシュされるため、最新のデータにただちにアクセスできます。
データベースでデータを準備。透過層関数を使用して、順序付け、集計、フィルタ処理、記録などの操作を介した予測分析用、およびSQLコードを記述することなく総括的サンプリング手法を使用するための、大規模なデータベース常駐データ・セットを準備します。
データベースにRオブジェクトを保存。Rオブジェクトを他の場所から使用可能な永続データベース・オブジェクトとしてOracle Databaseインスタンスに保存できます。RオブジェクトおよびOracle R EnterpriseオブジェクトをOracle Databaseが管理するOracle R Enterpriseのデータストアに格納できます。
データベースにモデルを構築。データベースにモデルを構築して、Oracle R Enterpriseのデータストアにそれらを格納および管理できます。CRAN (Comprehensive R Archive Network)からダウンロードするパッケージにある関数を使用して、大量のメモリーを必要とし、アンサンブル・モデリングなどの手法を使用するモデルを構築できます。
データベースのデータをスコアリング。 スクリプトにRモデルを含めてデータベース常駐データをスコアリングできます。次のようなタスクを実行できます。
スコアリングに同じRコードを使用できるため、モデル構築からスコアリングに1つの手順で移動します。一部のスタンドアロン分析サーバーで必要なスコアリング・ロジックの変換は必要ありません。
バルク・スコアリングなどのタスクを実行するためにスクリプトが自動的に実行されるようにスケジュールします。
トランザクションのコンテキストでデータをスコアリングします。
オンラインのwhat-ifスコアリングを実行します。
オプションでモデルをSQLに変換しますが、これはOracle Databaseによって自動的に実行されます。その後、生成されたSQLを低遅延スコアリング・タスクにデプロイできます。
データベースでRスクリプトを実行。Oracle R Enterpriseの埋込みRの実行機能を使用して、データベースでRスクリプトを作成、格納および実行できます。このスクリプトの実行時に、Oracle Databaseは、データベース・サーバーでパラレルに実行可能な1つ以上のRエンジンを開始、制御および管理します。データベース・サーバーでスクリプトを実行することによって、サーバーのスケーラビリティおよびパフォーマンスを活用できます。
埋込みRの実行機能を使用すると、次のことを実行できます。
Rスクリプトを対話式に開発およびテストし、SQLアプリケーションでスクリプトを使用できるようにします。
データベース・サーバー上のRスクリプトでCRANおよび他のパッケージを使用します。
Rスクリプト全体を本番アプリケーションで操作できるようにし、Rコードの移植を排除することで、Rの結果を既存のアプリケーションに統合するためのコードの作り直しを回避します。
Oracle DatabaseをRスクリプトの高パフォーマンス・コンピューティング(HPC)環境としてシームレスに使用することで、データのパラレル化およびリソース管理を提供します。
Oracle Databaseの処理リソースおよびメモリー・リソース、およびデータベースと埋込みRの実行のRエンジン間の読取り/書込み操作の高い効率性を使用します。
データ・パラレル操作およびタスク・パラレル操作でのデータベースのパラレル処理機能を使用します。
パラレル・シミュレーションを実行します。
RアプリケーションまたはSQLアプリケーションで使用可能なXMLイメージおよびPNGイメージを生成します。
Oracleテクノロジ・スタックと統合。Oracleテクノロジ・スタックのあらゆる側面を利用して、ビジネス・インテリジェンスや科学調査といった、より大規模なフレームワーク内に、独自のデータ分析を統合できます。たとえば、Oracle R Enterpriseの分析結果をOracle Business Intelligence Enterprise Edition (OBIEE)に統合できます。
Oracle R Enterpriseのクライアント・パッケージには、Oracle Databaseのデータとの相互作用に使用するRコンポーネントが含まれています。クライアント・パッケージのリストおよび簡単な説明については、『Oracle R Enterpriseインストレーションおよび管理ガイド』を参照してください。
Oracle R Enterpriseのクラス、関数およびメソッドに関するヘルプを取得するには、help、showMethodsなどのR関数を使用します。クラスまたは関数の名前にore接頭辞が付いている場合は、help関数にその名前を指定できます。オープン・ソースR関数のオーバーロードされたメソッドに関するヘルプを取得するには、メソッドの名前およびoreクラスの名前を指定します。
例1-1には、Oracle R Enterpriseのクラス、関数およびメソッドに関する情報の取得のためのいくつかの例を示します。例の後にあるリストでは、一部のコードは結果の一部のみを表示するために変更されていて、一部の関数の出力は表示されていません。
例1-1 Oracle R Enterpriseのクラス、関数およびメソッドに関するヘルプの取得
# List the contents of the OREbase package.
ls("package:OREbase")
# Get help for the OREbase package.
help("OREbase")
# Get help for the ore virtual class.
help("ore-class")
# Show the subclasses of the ore virtual class.
showClass("ore")
# Get help on the ore.vector class.
help("ore.vector")
# Show the arguments for the aggregate method.
showMethods("aggregate")
# Get help on the aggregate method for an ore.vector object.
help("aggregate,ore.vector-method")
# Get help on the ore.frame class.
help(ore.frame)
# Show the signatures for the merge method.
showMethods("merge")
# Get help on the merge method for an ore.frame object.
help("merge,ore.frame,ore.frame-method")
showMethods("scale")
# Get help on the scale method for an ore.number object.
help("scale,ore.number-method")
# Get help on the ore.connect function.
help("ore.connect")
例1-1のリスト
R> options(width = 80)
# List the contents of the OREbase package.
R> head(ls("package:OREbase"), 12)
[1] "%in%" "Arith" "Compare" "I"
[5] "Logic" "Math" "NCOL" "NROW"
[9] "Summary" "as.data.frame" "as.env" "as.factor"
R>
R># Get help for the OREbase package.
R> help("OREbase") # Output not shown.
R>
R> # Get help for the ore virtual class.
R> help("ore-class") # Output not shown.
R>
R># Show the subclasses of the ore virtual class.
R> showClass("ore")
Virtual Class "ore" [package "OREbase"]
No Slots, prototype of class "ore.vector"
Known Subclasses:
Class "ore.vector", directly
Class "ore.frame", directly
Class "ore.matrix", directly
Class "ore.number", by class "ore.vector", distance 2
Class "ore.character", by class "ore.vector", distance 2
Class "ore.factor", by class "ore.vector", distance 2
Class "ore.date", by class "ore.vector", distance 2
Class "ore.datetime", by class "ore.vector", distance 2
Class "ore.difftime", by class "ore.vector", distance 2
Class "ore.logical", by class "ore.vector", distance 3
Class "ore.integer", by class "ore.vector", distance 3
Class "ore.numeric", by class "ore.vector", distance 3
Class "ore.tblmatrix", by class "ore.matrix", distance 2
Class "ore.vecmatrix", by class "ore.matrix", distance 2
R>
R># Get help on the ore.vector class.
R> help("ore.vector") # Output not shown.
R>
R># Show the arguments for the aggregate method.
R> showMethods("aggregate")
Function: aggregate (package stats)
x="ANY"
x="ore.vector"
# Get help on the aggregate method for an ore.vector object.
R> help("aggregate,ore.vector-method") # Output not shown.
# Get help on the ore.frame class.
R> help(ore.frame) # Output not shown.
# Show the signatures for the merge method.
R> showMethods("merge")
Function: merge (package base)
x="ANY", y="ANY"
x="data.frame", y="ore.frame"
x="ore.frame", y="data.frame"
x="ore.frame", y="ore.frame
# Get help on the merge method for an ore.frame object.
R> help("merge,ore.frame,ore.frame-method") # Output not shown.
R> showMethods("scale")
Function: scale (package base)
x="ANY"
x="ore.frame"
x="ore.number"
x="ore.tblmatrix"
x="ore.vecmatrix"
# Get help on the scale method for an ore.number object.
R> help("scale,ore.number-method") # Output not shown.
# Get help on the ore.connect function.
R> help("ore.connect") # Output not shown.
例1-2に示すとおり、RセッションでOREShowDoc関数を呼び出すことで、Oracle R EnterpriseのドキュメントをHTML形式またはPDF形式で表示できます。この関数は、このリリースのOracleドキュメント・ライブラリを表示するブラウザを起動します。
|
関連項目:
|
Oracle R Enterpriseには、Oracle Databaseインスタンスのデータを直接操作するために使用できるオーバーロードされたオープン・ソースRメソッドがあります。このメソッドおよび関数は、R関数をSQLに変換する透過層を実装するパッケージに含まれています。
Oracle R Enterpriseの透過層パッケージおよびRをSQLに変換する際の制限について、次の各項で説明します。
Oracle R Enterpriseの透過層は、OREbase、OREgraphicsおよびOREstatsのパッケージで実装されます。これらのOracle R Enterpriseパッケージには、オープン・ソースRのbase、graphicsおよびstatsのパッケージに関数のオーバーロードされたメソッドがそれぞれ含まれています。また、Oracle R Enterpriseパッケージには、一部のオープン・ソースR関数のOracle R Enterprise版も含まれています。
これらのパッケージのメソッドおよび関数を使用することで、Oracle Databaseインスタンスのデータを指定するRオブジェクトを作成できます。そのようなオブジェクトを使用するR式を実行すると、メソッドおよび関数はSQL問合せを透過的に生成してデータベースに送信します。その後、データベースはその問合せを実行して、操作の結果をRオブジェクトとして返します。
データベース表またはビューは、data.frameのサブクラスであるore.frameオブジェクトで表されます。その他のOracle R Enterpriseクラスは、ore.vector、vectorなどの対応するRクラスから継承されます。Oracle R Enterpriseは、Oracle Databaseのデータ型をOracle R Enterpriseのクラスに(NUMBERをore.integerに)マップします。Oracle R Enterpriseのデータ型およびオブジェクト・マッピングの詳細は、「Rのデータ型およびクラスの透過層サポート」を参照してください。
例1-3に、R関数呼出しのSQLへの変換を示します。これは、オーバーロードされたOracle R Enterpriseのaggregate関数を使用して、例1-3のIRIS_TABLEオブジェクトから花弁の長さの平均を取得します。
例1-3 Rでの種ごとの花弁の長さの平均の調査
aggplen = aggregate(IRIS_TABLE$Petal.Length,
by = list(species = IRIS_TABLE$Species),
FUN = mean)
aggplen
例1-3のリスト
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-4に、例1-3のaggregate関数に相当するSQLを示します。
例1-4 例1-3に相当する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
透過層メソッドおよび関数を使用して、分析用のデータベース常駐データを準備できます。次に、他のOracle R Enterpriseパッケージの関数を使用して、モデルを構築および適合し、それを使用してデータをスコアリングできます。大規模なデータセットでは、Oracle Databaseに埋め込まれたRエンジンを使用してモデリングおよびスコアリングを実行できます。
Oracle R Enterpriseの透過層には、Rデータ型をOracle Databaseデータ型にマップするクラスおよびデータ型があります。これらのクラスおよびデータ型について、次の各項で説明します。
Oracle R Enterpriseには、Rデータ型をSQLデータ型にマップするデータ型があります。Rセッションでは、Rオブジェクトからデータベース・オブジェクトを作成するか、データベース・データからRオブジェクトを作成すると、Oracle R EnterpriseはRデータ型をSQLデータ型に変換し、可能な場合はその逆を実行します。データ型マッピングのリストは、表1-1を参照してください。
Oracle R Enterpriseは、Oracle R Enterpriseのクラスのインスタンスであるオブジェクトを作成します。Oracle R Enterpriseは、多くの標準のR関数をオーバーロードし、それらでOracle R Enterpriseのクラスおよびデータ型を使用できるようにします。
R言語の構造および構文は、Oracle Databaseオブジェクトにマップされているオブジェクトでサポートされます。Oracle R EnterpriseでサポートされるR演算子および関数の詳細は、付録Aを参照してください。
表1-1に、R、Oracle R EnterpriseおよびSQLのデータ型のマッピングをリストします。
表1-1 R、Oracle R EnterpriseおよびSQLのデータ型のマッピング
| Rデータ型 | Oracle R Enterpriseデータ型 | SQLデータ型 |
|---|---|---|
|
キャラクタ・モードの |
|
|
|
整数モードの |
|
|
|
論理モードの |
|
|
|
数値モードの |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
サポート対象外 |
ユーザー定義のデータ型 参照データ型 |
|
注意: タイプore.datetimeのオブジェクトはタイム・ゾーン設定をサポートしていないため、かわりに、システム・タイム・ゾーンSys.timezoneが使用可能な場合はそれを使用し、Sys.timezoneを使用できない場合はGMTを使用します。 |
ore.frameオブジェクトは、Oracle Databaseインスタンスに対するリレーショナル問合せを表します。これはdata.frameに相当するOracle R Enterpriseのオブジェクトです。通常は、データベース表のプロキシであるore.frameオブジェクトを取得します。次に、ore.frameプロキシ・オブジェクトに新しい列を追加するか、他の変更を行います。そのような変更は、基礎となる表には影響しません。その後でore.frameオブジェクトのソース表からデータをリクエストした場合は、透過層関数が選択リストに追加の列があるSQL問合せを生成しますが、その表は変更されません。
Rでは、data.frameの要素に明示的な順序付けがあります。整数索引付けを使用して要素を指定できます。一方、リレーショナル・データベース表では行の順序が定義されないため、Rデータ構造に直接マップできません。
表に主キー(行内で個別のタプルを形成する1つ以上の列のセット)がある場合は、SELECT文でORDER BY句を使用することで順序付けられた結果を生成できます。ただし、リレーショナル・データの順序付けは負荷が高く、多くの場合、透過層操作では不要です。たとえば、ore.frameでsummary関数を呼び出す場合、サマリー統計の計算に順序付けは必要ありません。
Oracle R Enterpriseには、ore.frameオブジェクトの順序付けられたものと順序付けられていないものの両方があります。これらのオブジェクトの作成および使用の詳細は、「序付けられたおよび順序付けられていないore.frameオブジェクトの作成」を参照してください。
例1-5では、様々なデータ型を含む列があるdata.frameを作成し、data.frameの構造を表示します。この例では次に、ore.push関数を呼び出して、data.frameのデータのコピーを含むデータベースに一時表を作成します。ore.pushの呼出しでは、その表のプロキシであるore.frameオブジェクトも生成されます。この例では、ore.frameオブジェクトとdata.frameオブジェクトおよびore.frameオブジェクトにある列のクラスを表示します。
例1-5 data.frameおよび対応するore.frameのクラス
df <- data.frame(a="abc",
b=1.456,
c=TRUE,
d=as.integer(1),
e=Sys.Date(),
f=as.difftime(c("0:3:20", "11:23:15")))
ore.push(df)
class(of)
class(df$a
class(of$a)
class(df$b)
class(of$b)
class(df$c)
class(of$c)
class(df$d)
class(of$d)
class(df$e)
class(of$e)
class(df$f)
class(of$f)
例1-5のリスト
R> df <- data.frame(a="abc",
+ b=1.456,
+ c=TRUE,
+ d=as.integer(1),
+ e=Sys.Date(),
+ f=as.difftime(c("0:3:20", "11:23:15")))
R> ore.push(df)
R> class(of)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"
R> class(df$a)
[1] "factor"
R> class(of$a)
[1] "ore.factor"
attr(,"package")
[1] "OREbase"
R> class(df$b)
[1] "numeric"
R> class(of$b)
[1] "ore.numeric"
attr(,"package")
[1] "OREbase"
R> class(df$c)
[1] "logical"
R> class(of$c)
[1] "ore.logical"
attr(,"package")
[1] "OREbase"
R> class(df$d)
[1] "integer"
R> class(of$d)
[1] "ore.integer"
attr(,"package")
[1] "OREbase"
R> class(df$e)
[1] "Date"
R> class(of$e)
[1] "ore.date"
attr(,"package")
[1] "OREbase"
R> class(df$f)
[1] "difftime"
R> class(of$f)
[1] "ore.difftime"
attr(,"package")
[1] "OREbase"
Oracle R Enterpriseは、ore.frame列に対して、より制限的なOracle Databaseのネーミング規則ではなくRのネーミング規則を使用します。ore.frameの列には、30バイトより長く、二重引用符を含む、一意でない名前を付けることができます。
汎用のas.ore関数は、メモリー内Rオブジェクトをoreオブジェクトに強制変換します。より厳密なas.ore.characterなどの関数は、オブジェクトを特定の型に強制変換します。ore.push関数は、Rクラス・タイプをoreクラス・タイプに暗黙的に強制変換し、ore.pull関数は、oreクラス・タイプをRクラス・タイプに強制変換します。これらの関数の詳細は、「データベースに対するデータの移動」を参照してください。
例1-6に、Rオブジェクトのoreオブジェクトへの強制変換を示し、Rのintegerオブジェクトを作成してから汎用メソッドas.oreを使用してore.integerであるoreオブジェクトに強制変換します。この例では、Rオブジェクトを他の様々なoreクラス・タイプに強制変換します。埋込みRの実行関数でのas.factorの使用例は、例6-9「ore.groupApply関数の使用方法」を参照してください。
例1-6 RおよびOracle R Enterpriseのクラス・タイプの強制変換
x <- 1:10 class(x) X <- as.ore(x) class(X) Xn <- as.ore.numeric(x) class(Xn) Xc <- as.ore.character(x) class(Xc) Xc Xf <- as.ore.factor(x) Xf
例1-6のリスト
R> x <- 1:10 R> class(x) [1] "integer" R> X <- as.ore(x) R> class(X) [1] "ore.integer" attr(,"package") [1] "OREbase" R> Xn <- as.ore.numeric(x) R> class(Xn) [1] "ore.numeric" attr(,"package") [1] "OREbase" R> Xc <- as.ore.character(x) R> class(Xc) [1] "ore.character" attr(,"package") [1] "OREbase" R> Xc [1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" R> Xf <- as.ore.factor(x) R> Xf [1] 1 2 3 4 5 6 7 8 9 10 Levels: 1 10 2 3 4 5 6 7 8 9
Oracle R Enterpriseの使用での一般的な操作の進め方を次に示します。
Rセッションで、Oracle Databaseインスタンスのスキーマに接続します。
スキーマをアタッチして、データベース表に対するOracle R Enterpriseのプロキシ・オブジェクトを生成するスキーマ・オブジェクトと同期化します。
分析用のデータを準備し、探索的データ分析およびデータの視覚化を実行する場合があります。
OREmodelsパッケージまたはOREdmパッケージの関数を使用してモデルを構築します。
ローカルのRセッションで、または埋込みRの実行を使用して、モデルを使用してデータをスコアリングします。
分析結果をエンド・ユーザーにデプロイします。
図1-1に、これらの手順および手順の一般的な繰返しを示します。
第2章「Oracle R Enterpriseの概要」では、次の操作について説明します。
データベースへの接続。
データベース表に対するOracle R Enterpriseプロキシ・オブジェクトの作成。
ローカルのRセッションのdata.frameからデータベース表(ore.frameプロキシ・オブジェクトと表される)へのデータの移動、およびその逆。
第3章「データベースでのデータの準備および探索」では、分析用のデータの準備およびデータの探索について説明します。データの準備および探索には、次のような操作が含まれる可能性があります。
データセットまたは表からのデータの選択。
不要な情報をフィルタ処理することによるデータのクリーニング。
データの順序付け。
データの中間集計。
時系列分析。
データの記録または書式設定。
探索的データ分析。
第4章「Oracle R Enterpriseでのモデルの構築」では、OREmodelsパッケージおよびOREdmパッケージの関数を使用して、Oracle Data Miningモデルを含むモデルの構築について説明します。
第5章「Rモデルでの予測」では、Oracle R Enterpriseモデルでのore.predict関数の使用について説明します。
第6章「Oracle R Enterpriseの埋込みRの実行の使用方法」では、データベースで稼働中の1つ以上のRエンジンでRスクリプトを作成および実行する方法、およびそれらのスクリプトのOracle Databaseのスクリプト・リポジトリへの保存方法について説明します。
Oracle R Enterpriseには、様々な関数に適用されるグローバル・オプションがあります。表1-2に、Oracle R Enterpriseのグローバル・オプションおよび説明をリストします。
表1-2 Oracle R Enterpriseのグローバル・オプション
| グローバル | 説明 |
|---|---|
|
|
|
|
埋込みRの実行で使用する優先並列度。次のうちの1つ。
デフォルト値は |
|
|
|
|
|
Oracle R Enterpriseの反復関数が反復ごとに出力を印刷するかどうかを示す論理値。デフォルト値は |
|
|
順序付けが必要な関数で行名がない |
Oracle R Enterpriseには、Oracle R Enterpriseの関数の使用を示すいくつかのサンプル・スクリプトが含まれています。この項には次のトピックが含まれます:
例1-7に示すとおり、demo関数を使用してOracle R Enterpriseのサンプル・スクリプトのリストを表示できます。
例1-7のリスト
R> demo(package = "ORE") Demos in package 'ORE': aggregate Aggregation analysis Basic analysis & data processing operations basic Basic connectivity to database binning Binning logic columnfns Column functions cor Correlation matrix crosstab Frequency cross tabulations datastore DataStore operations datetime Date/Time operations derived Handling of derived columns distributions Distribution, density, and quantile functions do_eval Embedded R processing esm Exponential smoothing method freqanalysis Frequency cross tabulations glm Generalized Linear Models graphics Demonstrates visual analysis group_apply Embedded R processing by group hypothesis Hyphothesis testing functions matrix Matrix related operations nulls Handling of NULL in SQL vs. NA in R odm_ai Oracle Data Mining: attribute importance odm_ar Oracle Data Mining: association rules odm_dt Oracle Data Mining: decision trees odm_glm Oracle Data Mining: generalized linear models odm_kmeans Oracle Data Mining: enhanced k-means clustering odm_nb Oracle Data Mining: naive Bayes classification odm_nmf Oracle Data Mining: non-negative matrix factorization odm_svm Oracle Data Mining: support vector machines push_pull RDBMS <-> R data transfer rank Attributed-based ranking of observations reg Ordinary least squares linear regression row_apply Embedded R processing by row chunks sampling Random row sampling and partitioning of an ore.frame sql_like Mapping of R to SQL commands stepwise Stepwise OLS linear regression summary Summary functionality table_apply Embedded R processing of entire table
Oracle R Enterpriseのサンプル・スクリプトはdemo関数を使用して実行できます。ほとんどの例では、R Distributionに含まれているdatasetsパッケージにあるirisデータセットを使用します。
サンプル・スクリプトを実行するには、Rを起動し、OREパッケージをlibrary(ORE)を指定してロードし、データベースに接続してから、demo関数を使用します。
例1-8では、basic.Rサンプル・スクリプトを実行します。例の後にあるリストには、スクリプトの出力の最初の数行のみが表示されています。このスクリプトはメモリーないデータベース・オブジェクトであるIRIS_TABLEを作成しますが、これはore.frameオブジェクトです。このスクリプトは次に、irisのdata.frameおよびIRIS_TABLEのore.frameが同じ構造を持ち、同じデータを含んでいることを示します。
例1-8のリスト
R> demo("basic", package = "ORE")
demo(basic)
---- ~~~~~
Type <Return> to start :
R> #
R> # O R A C L E R E N T E R P R I S E S A M P L E L I B R A R Y
R> #
R> # Name: basic.R
R> # Description: Demonstrates basic connectivity to database
R> #
R> #
R> #
R>
R> ## Set page width
R> options(width = 80)
R> # Push the built-in iris data frame to the database
R> IRIS_TABLE <- ore.push(iris)
R> # Display the class of IRIS_TABLE
R> class(IRIS_TABLE)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"
R> # Basic commands
R>
R> # Number of rows
R> nrow(iris)
[1] 150
R> nrow(IRIS_TABLE)
[1] 150
R> # Column names of the data frame
R> names(iris)
[1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
R> names(IRIS_TABLE)
[1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
# The rest of the output is not shown.