ヘッダーをスキップ
Oracle® R Enterpriseユーザーズ・ガイド
リリース1.3 for Windows, Linux, Solaris, and AIX
E48232-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

2 Oracle R Enterpriseの透過層

Oracle R Enterprise透過層は、次の機能を持ちます。

Oracle R Enterprise透過層によって、Rユーザーは、Oracleからそのユーザーのデスクトップ上のRのメモリーにデータをプルすることなく、R構文を使用して、データベースに格納されているオブジェクトを直接操作できます。したがって、Rユーザーはデスクトップ・メモリーで許容される量よりも大きいデータを処理できます。

R言語構文は、Oracle Databaseオブジェクトにマップされているオブジェクトに対してサポートされています。

この章では、透過層で提供される機能について説明します。この章の内容は次のとおりです。

サポートされるデータ型

次のRデータ型が、オーバーロードされており、データベース・オブジェクトにマップされ、データベース内での実行が可能になっています。

  • 文字、整数、数値および論理ベクトル

  • 日時データ型

  • ファクタ

  • データ・フレーム

  • マトリクスは、次の2つの状況でオーバーロードされます。

    • 線形代数クロス積

    • 高度な分析のための入力マトリクスの作成

class(object)は、そのようなマップされたオブジェクトのデータ型をレポートします。たとえば、表NARROWに列AGEがあり、AGEが数値の場合は、次のようになります。

R> class(NARROW$AGE)
[1] "ore.numeric"
attr(,"package")
[1] "OREbase"

日時データ型

この項では、Oracle Databaseでの日時データ型のサポート状況、およびこれらのデータ型をOracle R Enterpriseで使用する方法について説明します。

Oracleでの日時データ型

Oracle Databaseでは、次の日時データ型がサポートされています。

  • DATEデータ型は、日付および時刻の情報を格納するために使用します。各DATE値に対して、OracleはフィールドYEARMONTHDAYHOURMINUTEおよびSECONDを格納します。

    有効な日付範囲は紀元前4712年1月1日から紀元9999年12月31日です。

  • TIMESTAMPデータ型は、DATEデータ型の拡張機能です。DATEデータ型の年、月および日に加えて、時、分および秒の値を格納します。オプションのfractional_seconds_precision (DATESECONDフィールドの小数部の桁数)がサポートされます。0から9の桁数を指定できます(デフォルトは6桁)。

    TIMESTAMPには2つの拡張があります。

    • TIMESTAMP WITH TIME ZONEは、TIMESTAMPと、タイムゾーンの置換え値TIMEZONE_HOURおよびTIMEZONE_MINUTEをあわせ持ちます。

    • TIMESTAMP WITH LOCAL TIME ZONEは、データベースへの格納時にデータベースのタイムゾーンに対して正規化されるデータを持つTIMESTAMP WITH TIME ZONEです。データは取得時、セッションのタイムゾーンで表示されます。

  • INTERVAL YEAR TO MONTHでは、YEARおよびMONTHフィールドを使用して期間が格納されます。このデータ型は、年および月の値のみが重要な場合に、2つの日時の値の違いを表す場合に有効です。

  • INTERVAL DAY TO SECONDでは、期間が日、時間、分および秒単位で格納されます。このデータ型は、2つの日時の値の正確な違いを表す場合に有効です。

  • INTERVAL YEAR TO MONTHは年および月で期間を格納し、オプションのyear_precisionはYEAR日時フィールドの桁数です。これはオプションです。

  • INTERVAL DAY TO SECONDでは、期間が日、時間、分および秒単位で格納されます。オプションのday_precision (DAY日時フィールドの最大桁数)がサポートされており、値は0から9で、デフォルトは2です。また、オプションのfractional_seconds_precision (SECONDフィールドの小数部の桁数)がサポートされており、値は0から9で、デフォルトは6です。

Oracleデータ型の詳細は、『Oracle Database SQL言語リファレンス』のデータ型に関する説明を参照してください。

日付に関して期待されるすべての操作を実行できます。

Oracle R Enterpriseでの日付と時刻のサポート

Oracle R Enterpriseでは、日付と時刻の計算をサポートするために次のクラスが用意されています。

  • ore.date (Oracle DATE)

  • ore.datetime (TIMESTAMPTIMESTAMP WITH TIME ZONETIMESTAMP WITH LOCAL TIME ZONE)

  • ore.difftime (INTERVAL DAY TO SECOND)

ore.datetimeオブジェクトはタイム・ゾーン設定をサポートしていないため、かわりに、システム・タイム・ゾーンSys.timezone()が使用可能な場合はそれを使用し、Sys.timezone()を使用できない場合はGMTを使用します。

サポートされる演算子および関数

Oracle R Enterpriseでは、すべてのデータの準備および分析をデータベース内で直接実行できるように、データの事前処理機能を広範囲にわたってサポートしています。

このリストの関数のみを使用するように制限されているわけではありません。必要とする特定の関数がOracle R Enterpriseでサポートされていない場合は、最初にore.pull()でデータベースからRエンジン・メモリーにデータをプルして、メモリー内Rオブジェクトを作成してから、R関数を使用することができます。

次の演算子および関数がサポートされています。これらの演算子および関数の構文およびセマンティクスは、Rのドキュメントを参照してください。これらのアイテムの構文およびセマンティクスは、対応するデータベースのマップされたデータ型(Oracle R Enterpriseデータ型とも呼ぶ)に使用する場合も変わりません。

  • 数学的変換: abs、sign、sqrt、ceiling、floor、trunc、cummax、cummin、cumprod、cumsum、log、loglo、log10、log2、log1p、acos、acosh、asin、asinh、atan、atanh、exp、expm1、cos、cosh、sin、sinh、tan、atan2、tanh、gamma、lgamma、digamma、trigamma、factorial、lfactorial、round、signif、pmin、pmax、zapsmall、rank、diff、besselI、besselJ、besselK、besselY

  • 基本統計: mean、summary、min、max、sum、any、all、median、range、IQR、fivenum、mad、quantile、sd、var、table、tabulate、rowSums、colSums、rowMeans、colMeans、cor、cov

  • 算術演算子: +、-、*、/、^、%%、%/%

  • 比較演算子: ==、>、<、!=、<=、>=

  • 論理演算子: &、|、xor

  • 集合演算子: unique、%in%、subset

  • 文字列演算: tolower、toupper、casefold、toString、chartr、sub、gsub、substr、substring、paste、nchar、grepl

  • データ・フレームの結合: cbind、rbind、merge

  • ベクトルの結合: append

  • ベクトルの作成: ifelse

  • サブセットの選択: [、[[、$、head、tail、window、subset、Filter、na.omit、na.exclude、complete.cases

  • サブセットの置換: [<-、[[<-、$<-

  • データの再編成: split、unlist

  • データ処理: eval、with、within、transform

  • applyのバリアント: tapply、aggregate、by

  • 特別な値のチェック: is.na、is.finite、is.infinite、is.nan

  • メタデータ関数: nrow、NROW、ncol、NCOL、nlevels、names、names<-、row、col、dimnames、dimnames<-、dim、length、row.names、row.names<-、rownames、rownames<-、colnames、levels、reorder

  • グラフィック: arrows、boxplot、cdplot、co.intervals、coplot、hist、identify、lines、matlines、matplot、matpoints、pairs、plot、points、polygon、polypath、rug、segments、smoothScatter、sunflowerplot、symbols、text、xspline、xy.coords

  • 変換関数: as.logical、as.integer、as.numeric、as.character、as.vector、as.factor、as.data.frame

  • 型チェック関数: is.logical、is.integer、is.numeric、is.character、is.vector、is.factor、is.data.frame

  • 文字の操作: nchar、tolower、toupper、casefold、chartr、sub、gsub、substr

  • その他のore.frame関数: data.frame、max.col、scale

  • 仮説検定: binom.test、chisq.test、ks.test、prop.test、t.test、var.test、wilcox.test

  • 各種分布: 密度、累積分布、および標準分布のクォンタイル関数

  • ore.matrix関数: show、is.matrix、as.matrix、%*% (マトリクスの乗算)、t、crossprod (マトリクスのクロス積)、tcrossprod (BをA回転置したマトリクスのクロス積)、solve (反転)、backsolve、forwardsolve、すべての適切な算術関数(abs、signなど)、summary (max、min、allなど)、mean

「Oracle R Enterpriseの例」で説明するOracle R Enterpriseのサンプル・プログラムには、Oracle R Enterpriseデータ型でこれらの関数の各カテゴリを使用した例がいくつか含まれています。