バイオ・データ・マイニング/Rの基本 のバックアップ差分(No.4)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
*目次 [#ud48f00c]
#contents

*はじめに [#gc93c04a]

『Rによるバイオインフォマティクスデータ解析』の第2章に従って,Rの基本をおさらいします.

#html{{
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=tohgoroh-22&o=9&p=8&l=as1&asins=4320057082&ref=tf_til&fc1=444B4C&IS2=1&lt1=_blank&m=amazon&lc1=444B4C&bc1=FFFFFF&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
}}


*対話モードでのR操作 [#scb00e46]

Rは対話モードで操作を行います.
コンソール画面(R Console)に
#geshi(sh){{
>
}}
と表示されているときは,Rがコマンド入力を受け付けていることを表します.
この「>」を''コマンド・プロンプト''と呼びます.

コマンド・プロンプトに「1+1」と入力してReturnキーを押します.
すると,次のように計算結果が表示されます.
#geshi(sh){{
> 1+1
[1] 2
>
}}

コマンドの途中でRetrunキーを押すと,改行されます.
このとき,コマンド入力が継続していることを表す「+」の記号が行頭に表示されます.

たとえば,「1-」と入力してReturnキーを押すと,次のように表示されます.
#geshi(sh){{
> 1-
+
}}
これは,式がまだ完了していないので,コマンド入力を引き続き受け付けていることを表しています.
続けて「1」と入力してReturnキーを押すと,次のように表示されます.
#geshi(sh){{
> 1-
+ 1
[1] 0
>
}}
今度は,式が完了しているので計算が行われ,計算結果の0が表示されました.

Rには''ヒストリー機能''があって,今までに実行したコマンドを覚えています.
↑(上矢印)キーを押すと,一つ前に実行したコマンドが表示されます.
さらに↑キーを押すと,もう一つ前に実行したコマンドが表示されます.
↓(下矢印)キーを押すと,一つ後に実行したコマンドが表示されます.


*Rの基本データ構造 [#df13532c]

**ベクトル [#k5b36af7]

Rのデータは''ベクトル''として扱われます.
#geshi(sh){{
> 0
}}
と入力すると,
#geshi(sh){{
> 0
[1] 0
>
}}
と表示されます.
この「[1]」は,0がベクトルの第1次元の値であることを表しています.

「:」(コロン)を用いると,交差1の等差数列ベクトルを表すことができます.
「:」(コロン)を用いると,公差1の等差数列ベクトルを表すことができます.
たとえば,「51:100」は,初項51,公差1の100以下の項の等差数列ベクトルを表します.
#geshi(sh){{
> 51:100
 [1]  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66
[17]  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82
[33]  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98
[49]  99 100
> 
}}
ここで,「[1]」や「[17]」は,それぞれの行の最初のデータの次元番号を表しています.
すなわち,51は第1次元,67は第17次元,83は第33次元,99は第49次元であることを示しています.
改行される位置は,ウィンドウの幅によって変わります.

**文字列 [#e2eef076]

また,標準で用意されているベクトル・データに,LETTERS(とletters)があります.
「LETTERS」と入力するとアルファベットの大文字が各次元に一文字ずつある26次元のベクトルが表示されます.
#geshi(sh){{
> LETTERS
 [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P"
[17] "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"
>
}}

ここで,「"A"」はダブル・クオーテーション(")で囲まれています.
これは,これがAという''文字列''であることを表しています.

人間にとっては1も"1"も同じように思われますが,コンピューターにとっては値の1と文字列の"1"は全然違うものです.
ですから,Rでは,「1+1」の計算はできますが,「"1"+"1"」の計算はできません.
#geshi(sh){{
> 1+1
[1] 2
> "1"+"1"
 以下にエラー "1" + "1" :  二項演算子の引数が数値ではありません 
> 
}}


* 変数とオブジェクト [#p98d6756]

**オブジェクト [#od6a5e4e]
複雑な計算をするときは,計算をいくつかの部分に分けて行い,その結果に対して計算を行うということがあります.
このようなとき,いくつかの部分に分けられた計算の結果を覚えておく必要があります.

このような計算の途中結果,あるいは値や文字列などのデータを覚えておくため入れ物を''変数''または''オブジェクト''と呼びます.


**代入 [#rcc946e0]
計算の途中結果,値,データなどをオブジェクトに覚えさせることを,''代入''と呼びます.
オブジェクトに代入するときは,不等号記号とマイナスの記号で「<-」という矢印を作ってこれを使います.
これは,右辺の式を計算し,その結果を左辺のオブジェクトに代入します.
#geshi(sh){{
> a <- 1
> b <- 2
> c <- a+b
> c
[1] 3
>
}}

向きが反対の「->」も使えます.
こちらは,左辺の計算結果を右辺のオブジェクトに代入します.

代入する際に式全体を「()」で括ると,計算結果を表示します.
#geshi(sh){{
> c <- a+b
> (c <- a+b)
[1] 3
> 
}}



**表示と削除 [#ne1b3291]

オブジェクトのリストを表示するときは,lsコマンドかobjectsコマンドを使います.
#geshi(sh){{
> ls()
[1] "a" "b" "c"
> objects()
[1] "a" "b" "c"
}}
lsというのは,listの省略形です.

たくさんのデータを格納したオブジェクトはコンピュータのメモリーをたくさん使用しますので,不要になったオブジェクトはrmコマンドを用いて削除します.
#geshi(sh){{
> rm(a)
> ls()
[1] "b" "c"
> rm(b)
> ls()
[1] "c"
> a
 エラー:  オブジェクト 'a' がありません 
>
}}
rmというのは,removeの省略形です.



*演算子 [#ce861558]

コンピューターで計算することを''演算''といい,演算の命令に使う記号を''演算子''といいます.

演算には加算や減算などの''算術演算''と,論理和や論理積などの''論理演算''があります.
演算には,加算や減算などの''算術演算'',等号や不等号などの''比較演算'',論理和や論理積などの''論理演算'など'があります.


**算術演算子 [#wa65ea62]
|CENTER:''演算子''|CENTER:''処理''|
|+|加算(たし算)|
|-|減算(ひき算)|
|*|乗算(かけ算)|
|/|除算(わり算)|
|%/%|除算の整数部(わり算の整数部)|
|%%|剰余(わり算の余り)|
|%*%|行列の内積|
|%%o%|行列の外積|
|~演算子|~処理|~使用例|~使用例の計算結果|h
|+|加算(たし算)|1 + 2|3|
|-|減算(ひき算)|3 - 2|1|
|*|乗算(かけ算)|2 * 2|4|
|/|除算(わり算)|5 / 2|2.5|
|^|ベキ乗|2 ^ 3|8|
|-|マイナス|- 3|-3|
|%/%|除算の整数部(わり算の整数部)|5 %/% 2|2|
|%%|剰余(わり算の余り)|5 %% 2|1|
|%*%|行列の内積|||
|%o%|行列の外積|||

行列の内積と外積については,後で使用例を示します.

**比較演算子 [#h6f5444a]
比較演算子の結果は論理値,つまりTRUEかFALSEになります.
|~演算子|~処理|~使用例|~使用例の計算結果|h
|==|等号(等しい)|3-2 == 1|TRUE|
|!=|不等号(等しくない)|3-2 != 1|FALSE|
|<|より小さい|3-2 < 1|FALSE|
|<=|以下(等しいかより小さい)|3-2 <= 1|TRUE|
|&gt;|より大きい|3-2 > 1|FALSE|
|>=|以上(等しいかより大きい)|3-2 >= 1|TRUE|


**論理演算子 [#ia2eca22]
論理演算子は,論理値(または論理ベクトル)に対して計算を行い,結果も論理値(または論理ベクトル)になります.
|~演算子|~処理|~使用例|~使用例の計算結果|h
|!|否定|!TRUE|FALSE|
|&&|先頭要素の論理積|TRUE & FALSE|FALSE|
|&|対応する要素の論理積|||
|&#x7c;&#x7c;|先頭要素の論理和|TRUE &#x7c; FALSE|TRUE|
|&#x7c;|対応する要素の論理和|||

対応する要素の論理積と論理和については,後で説明します.


**そのほかの演算子 [#s8b6ad8f]
|~演算子|~処理|~使用例|~使用例の計算結果|h
|:|公差1の等差数列ベクトル|1:5|1 2 3 4 5|
|$|リストの要素|||
|[[]]|リストの要素|||
|[]|ベクトルの要素|(1:5)[3]|3|

リストの要素については,後で説明します.

この記事はまだ書きかけです.

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS