Chapter 6 コンソール画面への出力

メッセージやオブジェクトの値を画面に表示するためには Rprintf()Rcout を用います。エラー表示のためには REprintf()Rcerr を用います。

Rcout Rcerr の使い方は標準 C++ の cout cerr と同じで、出力したい順に文字列や変数を << でつなげて記述します。なお、Vector 型の変数を与えると全要素を表示します。

Rprintf() 関数と REprintf() 関数の使い方は標準 C にある printf() 関数と同じで、書式を指定して変数の値を出力します。

書式文字列の中で変数の値を用いたい部分には % から始まる書式指定子を記述します。書式指定子は書式文字列のなかで複数記述することもでき、その場合は、書式文字列の中で書式指定子が現れる順に、表示したい変数を引数として渡します。

使用できる書式指定子の一部を下の表に示します。詳細は C 言語の解説書などを参考にしてください。

書式指定子 説明
%i 整数 (int) の引数を表示します
%u 符号無し整数 (unsigned int) の引数を表示します
%f 実数 (double) の引数を小数形式で表示します
%e 実数 (double) の引数を指数形式で表示します
%c 1文字 (char) の引数を表示します
%s 文字列 (char*) の引数を表示します

なお、Rprintf() 関数で表示できる変数の型は標準 C で提供されている型に限られるので、Rcpp の NumericVector など Rcpp で定義されている型は Rprintf() 関数の引数として与えて表示することはできません。ただし、Rcpp のベクトルの要素の1つ1つは intdouble など標準 C で提供されている基本的な型なので表示することができます。そのため、Rprintf() 関数でベクトルの全要素を表示する場合には、下のコード例のように for ループを用います