読者です 読者をやめる 読者になる 読者になる

かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

R言語のベクトル

同じ型をまとめて管理するものでc()関数で作るらしい。

x <- c(1,2,3,4,5)
print(x)

出力結果

[1] 1 2 3 4 5

1~5みたいに規則性のあるものは、開始:終了といった感じでかけるみたい。

x <- 1:5
print(x)

出力結果は同じ。

Rはベクトルに対する演算が便利になってる。具体的にいうと単純に掛け算をするだけで、全要素に掛け算をしてくれる。ループいらない!

x <- 1:5
x <- x * 10
print(x)

出力結果

[1] 10 20 30 40 50

ベクトル同士の掛け算もOK。同じ長さなら単純に掛け合わせて、違う長さなら短い方を再利用しながら掛け算してくれる。

x <- c(1,2,3)
y <- c(10,20,30)
z <- x * y
print(z)

出力結果

[1] 10 40 90

長さの違うもの同士の掛け算のケース

x <- c(1,2,3)
y <- c(10,20,30, 100, 200, 300)
z <- x * y
print(z)

出力結果

[1]  10  40  90 100 400 900

要素へアクセスするには[]演算子を使います。1オリジンなのでC系言語の人は要注意。ベクトルを渡すことで、複数の値をベクトル形式で抜いてくることも可能です。

x <- c(1,2,3)
print(x[2])

print(x[1:2])

print(x[c(1,3)])

実行結果

[1] 2
[1] 1 2
[1] 1 3