CC BY 4.0
R言語とは、統計解析向けのフリープログラミング言語です. Rでは、統計解析に加え、データの前処理、可視化、グラフの作成、さらには機械学習などのAI解析が可能.また、拡張プログラムであるパッケージ(package)をインストールして、呼び出すことで機能を拡張できる.近年の農学・生命科学研究では、様々なビッグデータを扱う機会が増え、情報解析スキルが必要不可欠になりつつあります.本講義では、Rを用いたデータ解析に触れ、統計解析やデータ処理スキルを向上させるための、足がかりとなることを目的としています.
Rで四則演算を行う.
## [1] 200
## [1] 100
## [1] 10000
## [1] 2
複数の値をオブジェクト変数に代入する.複数の値を関数で束ねて代入する.
## [1] 100 200 300
## [1] 10 20 30
## [1] 1 2 3
ベクトルの一部だけを抽出したり、変更したりすることができる (ベクトル要素参照).
## [1] 100
## [1] 100 200
同じ長さのベクトルを複数束ねてできるオブジェクト.
rbind関数:ベクトルを行方向に束ねる.
cbind関数:ベクトルを列方向に束ねる
## [,1] [,2] [,3]
## a 100 200 300
## b 10 20 30
## c 1 2 3
## a b c
## [1,] 100 10 1
## [2,] 200 20 2
## [3,] 300 30 3
行列の要素を参照するには、行番号と列番号の両方を指定する必要がある.
## [1] 200 300
## [,1] [,2]
## a 200 300
## b 20 30
データフレームは、行列と同じく2次元配置のデータである.行列は各要素が同じ単位 (数値データ) であるのに対し、データフレームは列ごとに属性が異なることもある (数値データや文字列データ).農学や生命科学のビッグデータでは、様々な情報をメタ情報として記述して関連付けるため、データフレーム構造で扱うことが多い.
データフレームを作成するときは、data.frame関数を使用する.行列作成のときに使用したcbindやrbindでは、異なる属性を束ねることができない.データフレームは列ごとに意味が異なり、列を重視したデータ構造なので、各列に列名をつける必要がある.
#データフレームの作成
d <- data.frame(Plant=c("rice","rice","maize","maize","soybean","soybean"),
height=c(100,105,150,155,72,75),
weight=c(30,31,56,59,40,43))
#データフレームの確認
head(d)## Plant height weight
## 1 rice 100 30
## 2 rice 105 31
## 3 maize 150 56
## 4 maize 155 59
## 5 soybean 72 40
## 6 soybean 75 43
行列と同様にデータフレームの要素も参照できる.データフレームから特定の列を取り出す際は、$あるいは[[]]を使用できる.
## [1] "rice" "rice" "maize" "maize" "soybean" "soybean"
## [1] "rice" "rice" "maize" "maize" "soybean" "soybean"
Rは統計解析向けに開発されたプログラミング言語であるので、統計計算に関連した関数が多く標準実装されている.
## [1] 11.3
## [1] 7.902883
## [1] 62.45556
## [1] 113
## [1] 24
## [1] 2
## [,1]
## [1,] -0.1644969
## [2,] -0.7971775
## [3,] -0.9237136
## [4,] -1.1767858
## [5,] 0.2151114
## [6,] 0.5947197
## [7,] -1.1767858
## [8,] 1.1008641
## [9,] 0.7212558
## [10,] 1.6070085
## attr(,"scaled:center")
## [1] 11.3
## attr(,"scaled:scale")
## [1] 7.902883
プログラミング言語でデータ解析する場合は、Excelファイル (.xlsx) のままでは非常に不便である.Excelファイルからcsvファイル (カンマ区切り) やtxtファイル (タブ区切り) を書き出して、Rに読み込ませて解析するのが一般的である.
ここでは、read.csv関数を用いて、csvファイルを読みこんでみる.
デモデータとして、コマツナを様々な栄養欠乏条件で栽培した際の多元素濃度
(イオノーム) データがまとめられたcsvファイル demo.csv
を読み込んでみる.
実習では、まずはdemo.xlsxからcsvファイルに変換する.
read.csv関数により、Rの環境にcsvファイルを読み込むことができる.
データフレームdemoの中身を確認する.
## Treat Rep Fe Na B P S Ca
## 1 Std Rep01 0.09481312 16.076795 0.07930618 9.4327732 10.92939 19.314412
## 2 Std Rep02 0.08932892 14.163738 0.06197673 9.8153212 10.30166 15.352856
## 3 Std Rep03 0.10005974 15.718683 0.08554246 9.3380930 11.97617 18.063103
## 4 N Rep01 0.07535019 12.584512 0.05229767 13.8565924 13.18467 10.039218
## 5 N Rep02 0.08693794 13.992503 0.05516513 19.5483794 14.11175 8.905536
## 6 N Rep03 0.08092294 12.632017 0.06049191 15.5223570 13.25826 10.278994
## 7 P Rep01 0.08622586 2.767855 0.05739839 0.6183986 11.86336 22.211159
## 8 P Rep02 0.08107114 2.977823 0.05339402 0.6698599 11.37364 21.684903
## 9 P Rep03 0.06972961 1.789636 0.05976988 0.4481839 8.64475 20.592863
## 10 K Rep01 0.08181240 25.594229 0.05412227 9.2058854 10.09829 13.448803
## 11 K Rep02 0.09344541 33.274509 0.06278996 12.4690111 16.53377 16.499155
## 12 K Rep03 0.09965489 38.623781 0.05705951 15.1221131 12.34238 20.415112
## Cu K Mg Mn Zn
## 1 0.010395988 23.439857 9.757136 0.19049360 0.03756928
## 2 0.012495419 22.060630 8.142979 0.12428257 0.04113925
## 3 0.011270539 22.282309 11.541282 0.14446892 0.03413688
## 4 0.006775211 27.771476 7.358915 0.06824218 0.04017418
## 5 0.010101116 36.071357 7.795506 0.06217537 0.04126521
## 6 0.007036593 31.856272 6.982254 0.06697018 0.03938937
## 7 0.009964220 26.148062 9.012373 0.09572924 0.03306126
## 8 0.010182996 24.114418 9.379686 0.10459242 0.05073276
## 9 0.007162169 18.965070 8.435706 0.10866515 0.02893293
## 10 0.008051661 2.068095 7.575256 0.19547925 0.02637648
## 11 0.011003985 3.388715 10.614643 0.24899681 0.02147007
## 12 0.012155329 2.744865 11.427772 0.16620924 0.01936425