vector
やdata.frame
などのRオブジェクトには、その要素の暗黙的な順序付けがあります。Oracle Database表のデータは、必ずしも順序付けられている必要はありません。一部のR操作では順序付けは役立ちますが、他の操作では必要ではありません。ore.frame
を順序付けすることで、整数または文字列索引のいずれかを使用してore.frame
オブジェクトに索引付けできます。
SQL問合せに対するプロキシである順序付けられたore.frame
オブジェクトを使用すると、大規模なデータセットでは時間がかかります。そのため、Oracle R Enterpriseはデフォルトで順序付けられたore.frame
オブジェクトの作成を試みますが、順序付けられていないore.frame
オブジェクトを作成するための方法も提供されています。
SQL問合せのプロキシとしてOracle R Enterpriseのore.frame
オブジェクトを作成するためにore.sync
関数を呼び出す場合、use.keys
引数を使用してore.frame
を順序付けするか、しないようにするかを指定できます。
次の1つ以上の条件を満たす場合、ore.frame
オブジェクトは順序付けられます。
ore.sync
関数のuse.keys
引数の値がTRUE
で、基礎となる表で主キーが定義されている
ore.frame
の行名が一意のタプルを構成する
ore.frame
オブジェクトがaggregate
やcbind
などの特定の関数で生成されている
関連するOracle R Enterpriseの関数に対する入力引数であるore.frame
オブジェクトのすべてが順序付けられている
次の1つ以上の条件を満たす場合、ore.frame
オブジェクトは順序付けられません。
ore.sync
関数のuse.keys
引数の値がFALSE
である
主キーが基礎となる表に定義されておらず、ore.frame
オブジェクトの行名が指定されていないか、ore.frame
オブジェクトの行名がNULL
に設定されている
関連するOracle R Enterpriseの関数に対する入力引数である1つ以上のore.frame
オブジェクトが順序付けられていない
順序付けられていないore.frame
オブジェクトにはNULLの行名があります。例2-13の最後の行に示すとおり、オブジェクトの行名でis.null
を呼び出すことによってore.frame
オブジェクトが順序付けられるかどうかを判断できます。ore.frame
オブジェクトが順序付けられていない場合、is.null
はエラーを返します。
関連項目: