プライマリ・コンテンツに移動
Oracle® R Enterpriseインストレーションおよび管理ガイド
リリース1.5.1
E88294-01
目次へ移動
目次
索引へ移動
索引

前
次

A.4 Oracle R Enterpriseのインストールの検証

Oracle R Enterpriseの基本的な機能が動作していることを確認するには、Oracle R Enterprise Serverへの接続を確立して、基本的なコマンドをいくつか実行してOracle R Enterpriseのデモ・プログラムの一部を実行します。

注意:

Oracle R Enterpriseを起動および使用するには、ユーザーIDにOracle R Enterpriseのインストールに必要とされる権限が必要です。詳細は、ユーザー要件を参照してください。

例A-2 Oracle R Enterprise Serverへの接続

Oracle R Enterprise ClientをOracle R Enterprise Serverに接続するには、次の手順を実行します。

  1. Windowsの「スタート」メニューでR x64 3.3.0を選択します。

    Rコンソールが表示されます。

  2. 次のコマンドを入力してOracle R Enterpriseを起動します。

    > library(ORE)
    
  3. 次のコマンドを入力してOracle R Enterprise Serverに接続します。次の例では、ユーザーrquserをサーバー・ホストserv1上のデータベースorclに、ポート1521を使用して接続しています。

    >  ore.connect(user="rquser", sid="orcl", host="serv1", password="rquserpsw",
                   port=1521, all=TRUE)
    Loading required package: ROracle
    Loading required package: DBI
    
  4. ore.is.connectedを実行して接続を確認します。接続が正常に確立されている場合は、コマンドによってTRUEが返されます。

    > ore.is.connected()
    [1] TRUE

例A-3 RQUSERからアクセスできるデータベース表のリスト

ore.lsコマンドで、現行ユーザーに利用可能なデータ・セットがリストされます。たとえば、TABLE1およびTABLE2rquserスキーマに存在している場合は、次のように表示されます。

> ore.ls()
[1] "TABLE1" "TABLE2"

例A-4 Rデータ・フレームのデータ表へのプッシュ

ore.pushコマンドで、Rデータ・フレームがデータ表に、またはデータ表がRデータ・フレームにプッシュされます。次に例を示します。

	> cars <- ore.push(cars)

例A-5 埋込みR関数の実行

ore.doEvalコマンドで、データベース埋込みRエンジンの指定された関数の実行がスケジュール設定され、実行結果が返されます。

> ore.doEval(function() { 123 })
[1] 123

例A-6 Oracle R Enterpriseのデモ・スクリプトのリスト

Oracle R Enterpriseのデモ・スクリプトは$ORACLE_HOME/R/library/ORE/demoにあります。demoで、利用可能なデモのリストが表示されます。

> 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_em                       Oracle Data Mining: expectation maximization (12.2)
odm_esa                      Oracle Data Mining: explicit semantic analysis (12.2)
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_oc                       Oracle Data Mining: o-cluster
odm_partition                Oracle Data Mining: partition model (12.2)
odm_ralg                     Oracle Data Mining: extensible R algorithm (12.2)
odm_svd                      Oracle Data Mining: singular value decomposition (12.2
odm_svm                      Oracle Data Mining: support vector machines
ore_dplyr                    Data manipulation similar to dplyr
pca                          Principal Component Analysis
push_pull                    RDBMS <-> R data transfer
randomForest                 Random forest model          
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
script                       Create, list, load, drop, grant, and revoke R scripts
sql_like                     Mapping of R to SQL commands
stepwise                     Stepwise OLS linear regression
summary                      Summary functionality
table_apply                  Embedded R processing of entire table

A.4.1 Oracle R Enterpriseのデモ・スクリプトの実行

Oracle R Enterpriseのデモ・スクリプトの一部を実行することにより、インストールが正常に完了したことをさらに確認できます。エラーが発生せずスクリプトが完了した場合、デモは正常に実行されています。

例A-7 aggregateデモの実行

次の例では、aggregateデモが出力の一部を含めて表示されています。

> demo("aggregate", package="ORE")
 
        demo(aggregate)
        ---- ~~~~~~~~~
 
Type  <Return>   to start : 
 
> #
> #     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
> #
> #     Name: aggregate.R
> #     Description: Demonstrates aggregations
> #     See also summary.R
> #
> #
> #
> 
> ## Set page width
> options(width = 80)
 
> # Push the built-in iris data frame to the database
> IRIS_TABLE <- ore.push(iris)
 
> # Display the class of IRIS_TABLE 
> class(IRIS_TABLE)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"
 
> # Select count(Petal.Length) group by species
> x = aggregate(IRIS_TABLE$Petal.Length,
+               by = list(species = IRIS_TABLE$Species),
+               FUN = length)
 
> class(x)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"
.
.
.
. 

例A-8 row_applyデモの実行

次の例では、row_applyデモが出力の一部を含めて表示されています。

> demo("row_apply", package="ORE")
 
        demo(row_apply)
        ---- ~~~~~~~~~
 
Type  <Return>   to start : 
 
> #
> #     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
> #
> #     Name: row_apply.R
> #     Description: Execute R code on each row
> #
> #
> 
> ## Set page width
> options(width = 80)
 
> # Push the built-in iris data frame to the database
> IRIS_TABLE <- ore.push(iris)
 
> # Display the class of IRIS_TABLE 
> class(IRIS_TABLE)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"
 
> # Apply given R function to each row
> ore.rowApply(IRIS_TABLE,
+              function(dat) {
+                  # Any R code goes here. Operates on one row of IRIS_TABLE at
+                  # a time
+                  cbind(dat, dat$Petal.Length)
+              })
$`1`
  Sepal.Length Sepal.Width Petal.Length Petal.Width   Species dat$Petal.Length
1          6.4         2.8          5.6         2.1 virginica              5.6
 
$`2`
  Sepal.Length Sepal.Width Petal.Length Petal.Width   Species dat$Petal.Length
1          7.2           3          5.8         1.6 virginica              5.8
 
$`3`
  Sepal.Length Sepal.Width Petal.Length Petal.Width   Species dat$Petal.Length
1          7.4         2.8          6.1         1.9 virginica              6.1
 
$`4`
  Sepal.Length Sepal.Width Petal.Length Petal.Width   Species dat$Petal.Length
1          7.9         3.8          6.4           2 virginica              6.4
 
$`5`
  Sepal.Length Sepal.Width Petal.Length Petal.Width   Species dat$Petal.Length
1          6.4         2.8          5.6         2.2 virginica              5.6
 
$`6`
.
.
.
.

例A-9 corデモの実行

次の例では、corデモが出力の一部を含めて表示されています。

> demo ("cor")
 
        demo(cor)
        ---- ~~~
 
Type  <Return>   to start : 
 
> #
> #     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
> #
> #     Name: cor.R
> #     Description: Correlation matrix
> #
> #
> #
> 
> ## Set page width
> options(width = 80)
 
> # Push the built-in iris data frame to the database
> IRIS_TABLE <- ore.push(iris)
 
> # Display the class of IRIS_TABLE 
> class(IRIS_TABLE)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"
 
> # Remove non numeric columns
> iris_numeric = IRIS_TABLE[, c("Sepal.Length", "Sepal.Width",
+                               "Petal.Length", "Petal.Width")]
 
> # Pearson's correlation matrix
> cor(iris_numeric, use = "all.obs")
             Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length    1.0000000  -0.1175698    0.8717538   0.8179411
Sepal.Width    -0.1175698   1.0000000   -0.4284401  -0.3661259
Petal.Length    0.8717538  -0.4284401    1.0000000   0.9628654
Petal.Width     0.8179411  -0.3661259    0.9628654   1.0000000
.
.
.
.

Warning messages:
1: ORE object has no unique key - using random order 
2: ORE object has no unique key - using random order 
3: ORE object has no unique key - using random order 
4: ORE object has no unique key - using random order 

例A-10 stepwiseデモの実行

次の例では、stepwiseデモが出力の一部を含めて表示されています。

> demo("stepwise")
 
        demo(stepwise)
        ---- ~~~~~~~~
 
Type  <Return>   to start : 
 
> #
> #     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
> #
> #     Name: stepwise.R
> #     Description: STEPWISE Multivariate Regression
> #
> #
> #
> 
> ## Set page width
> options(width = 80)
 
> # Push the built-in iris data frame to the database
> IRIS_TABLE <- ore.push(iris)
 
> # Display the class of IRIS_TABLE
> class(IRIS_TABLE)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"
 
> # Let us first project out the non numeric columns
> IRIS_TABLE = IRIS_TABLE[, c("Sepal.Length", "Sepal.Width",
+                             "Petal.Length", "Petal.Width")]
 
> # Predict Sepal.Length based on the other 3 numeric columns
> # Do it stepwise
> model = ore.lm(Sepal.Length ~ ., data = IRIS_TABLE)
 
> model
 
Call:
ore.lm(formula = Sepal.Length ~ ., data = IRIS_TABLE)
 
Coefficients:
 (Intercept)   Sepal.Width  Petal.Length   Petal.Width  
      1.8560        0.6508        0.7091       -0.5565 
.
.
.