~Rプログラミング~【Statistics with “R”】
データの型と構造
~Rプログラミング~【Statistics with “R”】
Rではデータの構造や型が関数などに想定されたものと異なるとエラーが出てしまい、命令が実行できない場合があります。なので、データの型について知っておくとトラブルを回避することが出来ます。
データの型
たとえば、データの型は以下のようなものがあります。
| データの型 | R上での表記 |
| 実数 | numeric |
| 整数 | integer |
| 複素数 | complex |
| 文字列 | character |
| 論理値 | logical |
自分の興味のある変数の型がわからなければ、is.xxxx( )関数を用いることで下図のように確認することができきます。
| 命令 | コード |
| xが実数か真偽(TRUE/FALSE)を調べる。 | is.numeric(x) |
| xが整数か真偽(TRUE/FALSE)を調べる。 | is.integer(x) |
| xが複素数か真偽(TRUE/FALSE)を調べる。 | is.complex(x) |
| xが文字列か真偽(TRUE/FALSE)を調べる。 | is.character(x) |
| xが論理値か真偽(TRUE/FALSE)を調べる。 | is.logical(x) |
as.xxxx( )関数を用いることで、変数の型を変更することもでききます。
| 命令 | コード |
| xが実数だと宣言する。 | is.numeric(x) |
| xが整数だと宣言する。 | is.integer(x) |
| xが複素数だと宣言する。 | is.complex(x) |
| xが文字列だと宣言する。 | is.character(x) |
| xが論理値だと宣言する。 | is.logical(x) |
実数を文字列に変換し、変換したものが文字列になっているのか確認してみましょう。
is.charcter("あ") #"あ"が文字列型か調べる
is.integer("あ") #"あ"が整数型か調べる
is.integer("1") #"1"が整数型か調べる
is.integer(1) #1が整数型か調べる
is.integer(1.0) #1.0が整数型か調べる
is.numeric(1) #1が実数型か調べる
出力はこちら

代入によって作られた変数にも同様に適用できる。
A <- 5 is.numeric(A) B <- as.numeric(A) B is.numeric(B)

データの構造
| データの構造 | R上での表記 |
| ベクトル | vector |
| 行列 | matrix |
| 配列 | array |
| リスト | list |
| データフレーム | data.frame |
| 因子(順序なし) | factor |
| 因子(順序あり) | ordered |
行列をデータフレームに変換し、データフレームに変換されたことを確かめる。
A <- c(1,2,3,4,5) B <- c(1,0,1,0,1) is.vector(A) is.vector(B) is.data.frame(A) is.data.frame(B) C <- cbind(A,B) is.matrix(C) is.vector(C) is.data.frame(C) D <- as.data.frame(C) is.data.frame(D) is.matrix(D)
