カメヲラボ

主にプログラミングとお勉強全般について書いてます

Rプログラミング入門(1)

準備

環境は一応Windowsを前提としておきます。
R のインストールを参考に。現時点では2.9.0が最新版みたいですね。

早速使う

インストールが済んだら早速起動してください。

コンソールが表示されます。コンソール上で対話的にプログラミングをすることもできますが、すぐに面倒になるのでコードはファイルに書くことにします。

作業ディレクト

Rを起動すると、デフォルトの作業ディレクトリがマイドキュメントになっています、たぶん。念のため'getwd()'関数でチェックしておきます。作業ディレクトリを変更するには'setwd()'関数で。もし、マイドキュメント内に'R'フォルダを作ってそこで作業をするなら、

> setwd("./R")

みたいなかんじで変更しておきましょう。

Hello Worldってやつ(いわゆる出力)

作業ディレクトリに'hello.R'というファイルを作ります。エディタは何でも良いです。私はサクラエディタを良く使います。キーワードファイルはそのうち作っておいて置きます。プログラミング自体は使い慣れた環境をオススメします。

hello.Rの中に、以下の様に記述します。

> cat("Hello world!\n")

出来たらコンソールでsource関数を使います。

> source("./hello.R")

Rではsprintfという関数があるので、これを使ってCのprintf相当の関数を簡単に作ることが出来ます。

printf <- function( format, ... )
{
  cat( sprintf( format, ... ) )
}

これだけです。

入力

scan関数

scan関数を使うと、データを改行とか空白等で区切ったリストとして読み込みます。

scan(file="ファイル名")

デフォルトでは実数値のリストになるようなので、文字列のリストの場合は

scan(file="ファイル名", what=character(0))

のように書いてください。

read.table関数

read.table関数を使うと2次元配列のデータを簡単に読み込むことが出来ます。以下の様なデータをファイル(input1.txtとする)に書き込んでおきます。

1 2 3
4 5 6
7 8 9

次に

> read.table("./input1.txt")

と実行すれば、

  V1 V2 V3
1  1  2  3
2  4  5  6
3  7  8  9

のように出力されます。読む込む際のセパレータを変更することもできるようです。たとえばカンマ区切りのデータファイルなら、

read.table(file="ファイル名", sep=",")

のように書きます。

read.csv関数

どうせカンマ区切りなら、最初からread.csv関数を使うのも良さそうです。最終的にはいろいろなデータ解析を行うので、この関数を使うことが多くなるでしょう。


続く。