超初心者向け、統計プログラムR言語の基本その2。変数とベクトル。

アイキャッチ画像。Rのイラスト R

先日投稿したR統計の備忘録の続きです。

今回は、変数とベクトルの意味を理解するところまでを目指します。

超初心者向け、統計プログラムR言語の基本。変数とは。

変数って何?

まず、変数という概念を確認します。

変数は「とりあえず数字や式に名前を付けときましょう」みたいな考え方です。(ちょっと不正確ですが。)

たとえば「2+5」という式に「x」という名前を付けておく場合、

x <- 2+5

みたいに書きます。これを「x」に「2+5」を代入する、という言い方もします。

「<-」は「←(矢印)」を意味します。

上記を実行すると、次からは「x」を「2+5」と認識しています。

試しに、ただ「x」と打って「ctrl+R」で実行してみて下さい。

コンソールにはちゃんと

> x
[1] 7

と、「2+5」の答えが返ってきます。

ちなみに、「<-」の代わりに「=」でも同じ結果が得られます。

変数の名前の付け方

変数は半角アルファベットであれば何でも良いです。

「a」でも「b」でも「x」でも「y」でも「pencil」でも「apple」でも使えます。

数字は先頭でなければ使えます。「date22」とかでも大丈夫。

あと、ピリオドやアンダーバーも使えるので、「fruit_apple」とかもOKです。

大文字と小文字は区別されるので、気をつけてください。

※実は全角アルファベットや平仮名でも可能ですが、ポインタがずれたりするのでおすすめしません。

変数の使い方

まあ、最初のうちは変数の存在意義がよく分からないと思いますが、とりあえず使ってみるのが大事です。

試しに以下の変数を入力後、実行してみましょう。

tomato <- 150
potato <- 80
egg <- 130

食べ物に値段をつけるイメージで。

全部足してみます。

tomato+potato+egg

コンソールには以下のように結果が表示されているはずです。

> tomato+potato+egg
[1] 360

ちゃんと値段が出てますね。

しかし、後から卵が値上がりしました。

egg <- 150

上記を実行すると変数を上書きすることができます。

試しにもう一度全部足してみましょう。

> tomato+potato+egg
[1] 380

ちゃんと値上がりしていますね。

Rにおける、ベクトル。

とりあえず、変数は理解したことにして、次はベクトルを説明します。

ベクトルと聞くとなんだか難しそうですが、まず書いてみましょう

y <- c(1,2,3,4,5)

ベクトルはc()で書きます。中の数字はカンマで区切りましょう。

さて、yに代入したベクトルは、どのように出力されるのでしょうか。

試しに、yを実行してみます。

> y
[1] 1 2 3 4 5

入れた数字がすべてコンソールに出てきますね。

では今度はちょっと計算を入れてみましょう。

y*2

上記を実行するとこうなります。

> y*2
[1]  2  4  6  8 10

それぞれの数字が2倍になって返ってきました。

さらに、ベクトル同士で計算もできます。

> z <- c(6,7,8,9,10)
> z-y
[1] 5 5 5 5 5

「z」という新しい変数に適当なベクトルを代入して、そこから「y」を引いてみました。

ベクトル同士で計算する時には、基本的には要素の数合わせる必要があります。

要素の数が合わない時には、Rでは次のような挙動をします。

  • 一方がもう片方の倍数になっているとき→少ない方を繰り返して計算
  • 倍数になっていないとき→エラー

たとえば、A(要素が4個)、B(要素が16個)の2つのベクトルがあったとしたら

> A <- c(5,3,4,7)
> B <- c(2,1,6,4,8,3,4,8,2,3,5,7,9,4,6,3)
> A+B
 [1]  7  4 10 11 13  6  8 15  7  6  9 14 14  7 10 10

というように、Aの要素を4回繰り返して足すことになります。

Rでベクトルを操作するための、基本的な関数

ベクトルを使えるようになれば、簡単なデータを処理することもできます。

具体的な例を出しつつ、関数を紹介していきましょう。

Rのデータ処理の具体例

まず、架空の患者さん(とりあえずAさんとしておきましょう)の呼称課題の成績を、データとして扱うことにします。

変数は「A.koshou1」とでもしておきましょう。

A.koshou1 <- c(3,5,3,6,4,5,8,7,4,5)

summary関数

実行して変数を作ったら、まずは「summary」という関数を使ってみましょう。

summary(A.koshou1)

すると、コンソールにこんな感じで表示されます。

> summary(A.koshou1)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   3.00    4.00    5.00    5.00    5.75    8.00 

「summary」は要約統計量を出してくれる便利な関数です。

表示されている結果は、左側から、最小値、 第 1 四分位、中央値、平均、第3四分位、最大値となります。

var関数とsd関数

次は分散と標準偏差も求めてみましょうか。

分散は「var」、標準偏差は「sd」という関数を使います。

var(A.koshou1)
sd(A.koshou1)
> var(A.koshou1)
[1] 2.666667
> sd(A.koshou1)
[1] 1.632993

ちなみに、「分散って何だっけ?」って人はこちらの記事をどうぞ。

barplot関数

ついでなんで、棒グラフで成績の推移を見てみましょう。

barplot(A.koshou1,main="Aさんの呼称成績")

と、打ち込んで実行してみて下さい。

こんな感じで棒グラフが出てきます。

Aさんの喚語能力は少しずつ改善がみられていますね。多少ムラはありますが。

Rを使う意味

とまあ、こんな感じで簡単なベクトルまで使えるとデータの処理っぽくなってきます。

Ms. Noob
Ms. Noob

この程度なら、エクセル使った方が慣れてるし楽だわ

S-Yoko
S-Yoko

・・・

仰る通りですが、もう少し複雑な処理になると圧倒的にRの方が早くて楽です。

気が向いたら続きを書きますので、気長にお付き合いいただければと思います。

ではでは、今回はこの辺で。

コメント

タイトルとURLをコピーしました