Symfoware

Symfowareについての考察blog

R言語 文字の出力 スクリプトの実行 関数 コメントの書き方

Debian 7にRをインストールしてみました。
Debian 7にRの実行環境(3.1.1)をapt-getでインストールする


使い方を見ていきます。


hello world



文字の出力から。
Rを起動して、コンソールに以下の内容を入力。


> cat('hello world!\n')



エンターキーを押すと、hello world!と表示されるはずです。

474_01.png


文字を表示するには、
cat
print
message
warning
という命令が使用できます。

違いについては、こちらが詳しいです。

バイオスタティスティクス - 標準出力





スクリプトの実行



毎回Rのコンソールでプログラムを入力するのは現実的ではありません。
プログラムをファイルに記載し、それを実行します。

sample.Rというファイルを作成し、以下の内容を保存します。
※拡張子は大文字Rが慣例のようです。



  1. cat('hello world!\n')




このsample.Rを実行する方法を見てみます。





Rコンソールから実行する方法




source('プログラムファイル名')



という命令が用意されています。


Rコンソールを起動し、source('sample.R')を実行することで、
ファイルに記載したプログラムを実行できます。

474_02.png



Rコマンドでスクリプトを実行



Rコマンドにスクリプトファイルを引数で与えて実行させます。


# R --vanilla -q < sample.R




実行結果はこんなかんじです。

474_03.png




Rscriptコマンドで実行



Rscriptというコマンドが用意されています。


# Rscript sample.R



実行結果はこちら。
これが一番使い勝手が良さそうです。

474_04.png




関数



関数の書き方を簡単に勉強しておきます。
こちらを参考にしました。

http://takenaka-akio.org/doc/r_auto/chapter_01.html


引数なしの関数の場合


  1. 関数名 <- function() {
  2.     処理内容
  3. }




サンプル


  1. say_hello <- function() {
  2.     cat('hello world!\n')
  3. }
  4. say_hello()




ちなみに、関数定義の前にsay_helloを実行するとエラーになります。

エラー: 関数 "say_hello" を見つけることができませんでした
実行が停止されました

逐次実行みたいです。



引数ありの場合


  1. 関数名 <- function(引数名) {
  2.     処理
  3. }




サンプル


  1. say_hello <- function(name) {
  2.     cat('hello', name, '\n')
  3. }
  4. say_hello('symfo')





戻り値は、最後に評価した値が自動的に指定されます。


  1. say_hello <- function(name) {
  2.     cat('hello', name, '\n')
  3.     1 + 10
  4. }
  5. x = say_hello('symfo')
  6. cat(x, '\n')





# Rscript sample.R
hello symfo
11





returnで明示することもできます。
この場合、returnの箇所で関数呼び出しは終了します。


  1. say_hello <- function(name) {
  2.     cat('hello', name, '\n')
  3.     return(1 + 10)
  4.     
  5.     cat('ここは実行されない')
  6. }
  7. x = say_hello('symfo')
  8. cat(x, '\n')





# Rscript sample.R
hello symfo
11








コメントの書き方



コメントの開始は「#」です。



  1. # この行はコメントです。
  2. say_hello <- function(name) {
  3.     cat('hello', name, '\n')
  4.     return(1 + 10)
  5.     
  6.     cat('ここは実行されない') # ここ以降もコメント
  7. }
  8. x = say_hello('symfo')
  9. cat(x, '\n')




R言語 掲載記事のまとめ
関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2014/10/05(日) 21:21:16|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<R言語 折れ線グラフを画像ファイルに出力する | ホーム | Debian 7にRの実行環境(3.1.1)をapt-getでインストールする>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1498-f177c1de
この記事にトラックバックする(FC2ブログユーザー)