R言語 入門
統計処理に使われるR言語ですが、プログラミング言語としての入門サイトがなかったのでつくりました。
C/C++やpythonといったメジャーな言語を習得したプログラミング中級者以上向けに、ポイントのみ解説します。
Hello world
"Hello world"
と打てば終わり。勝手に表示される。
print("Hello world")
でもいけるが、上と効果がまったく同じ。任意のオブジェクトをこんな感じで表示できる。
ちなみに、上は、”オブジェクトを評価した結果が表示される”だけなので、きちんと出力するためには、catを使う。
cat("Hello world\n")
ちなみに、catも任意のオブジェクトを表示できる。
R言語において、C/C++のprintfっぽく使える関数は、sprintf。使い方はC/C++のsprintfと同じで、フォーマット文字列 -> 文字列 関数。
sprintf("%2.3f\n", 1.3)
以上をまとめると、C言語における、printf("Hello world")をそのまま書くとすると、
cat(sprintf("Hello world\n"))
という感じ。
変数
R言語における変数の概念は、C/C++みたいなのじゃなく、pythonみたいな感じ。代入は、
a <- 10
という形で書ける。基本的に、セミコロンは不要だが、複数命令を1行で書くときは、
a <- 10; b <- 20
という形で使う。
pythonのように、型宣言なしで使えて、
a <- 10 a <- "hoge"
というように、型を変えた代入も可能。
空のオブジェクトで初期化することもできる。
a <- numeric()
型
タイプ、モード、ストレージモード、クラス、というややこしい概念がある。理解しなくても使える気がする。
ややこしい概念を飛ばして、基本的な型を、ざっくり書くと以下の感じ。
型名 | 意味 |
---|---|
logical | 論理型 |
numeric | 数値型 |
integer | 整数型 |
double | 浮動小数点型 |
complex | 複素数型 |
character | 文字列型 |
配列(ベクトル)
R言語にも、配列(array)はあるが、まずはベクトルを習得した方がベターかも。ということで、ここではベクトルの説明。注意点としては、R言語において、添字が0からでなく、1から始まること。
基本的な使い方
a <- c(2,4,8,10,13) # 初期化 a[1:3] # 1番目から3番目の要素 => 2,4,8 a[-c(3,5)] # 3番目と5番目を除く要素 length(a) # サイズ
pythonのディクショナリっぽくも使える。
a <- c(1,2,3) # 初期化 names(a) <- c("piyo","fuga","hoge") # 名前をつける a["hoge"] # => 3 a[c("piyo","hoge")] # => 1 3
演算をまとめて実行できる。
a <- c(1,2,3) # 初期化 a * 2 # => 2 4 6 sum(a) # => 6 a > 2 # => FALSE FALSE TRUE a[ a > 2 ] # => 3
要素の追加・挿入・削除・置換
a <- 1:4 # 初期化 a[length(a)+1] <- 5 # 追加(新たにオブジェクトを作成しない) a <- c(a, 4) # 追加(新たにオブジェクトを作成する) a <- append(a, 1, after=3) # 挿入(新たにオブジェクトを作成する) a <- a[-2] # 削除(新たにオブジェクトを作成する) a <- replace(a, c(2,4), c(0,0)) # 置換(新たにオブジェクトを作成する) 2番目と4番目の要素を0に置換する
制御文
条件分岐
執筆中・・・
ループ
執筆中・・・
関数
執筆中・・・
クラス
執筆中・・・
例外制御
言語オブジェクト
文字列を関数に変換できる機能。
コンソールコマンド
getwd() # 現在のディレクトリを表示 setwd("../") # ディレクトリを移動 list.files() # ファイル一覧を表示 source("hoge.R") # Rスクリプトの実行