統計学

Rの始め方「データの型とデータ構造」

2021年12月21日

Rにおけるデータの型

Rのオブジェクトには、主に次の4つのデータの型があります。

  1. character(文字列型)
  2. numeric(実数型)
  3. integer(整数型)
  4. logical(論理値型)

具体的にどのようなものか見ていきましょう。

character(文字列型)

「TOKYO」や「JAPAN」、「Taro」などの文字情報を指します。

データセットによっては、文章などが入っていることもあります。

numeric(実数型)

1.2345、-100.7、2/3などの数値データを指します。

integer(整数型)

-100、0、123456などの整数値データを指します。小数点以下の値はありません。

分数などの形で表されるデータも該当しません。

logical(論理値型)

TRUEかFAILSEのどちらかの値のみをとるデータ型です。

ExcelのIF関数をイメージするとよいでしょう。

データ型の変換

以上4種類のデータ型は、一方向に変換することができます。

character(文字列型)→ numeric(実数型) → integer(整数型) → logical(論理型)

なお、左から右にデータ型を変換する際には、変換時にデータの一部が失われてしまいます。

1.0を1に変換することはできますが、1を1.0に変換することはできない(または困難)、という意味です。

あるいは、TOKYOを100、Japanを200などの数値に変換することはできても、その逆方向の変換はできません(あるいは難しい)。

データの型変換に用いる関数

文字列型に変換する関数 as.character()
実数型に変換する関数 as.numeric()
整数型に変換する関数 as.integer()
論理値型に変換する関数 as.logical()

Rにおけるデータ構造

データ構造とは

データ構造とは、データがどのように入っているのかを定めるものです。

具体的なものを見ていくことでイメージがつかみやすくなるでしょう。

Rにおけるデータ構造の種類

ベクトル(vector)

次元:1次元

データ型:1種類

ベクトルは1次元の配列です。

数値や文字や論理値を要素として持つことができます。

ベクトル内の各要素は、全て同じ型の値になります。

ベクトルは c() という関数を使って作成できます。

> a = c( 10, -31, 25, 400 )
> a
[1] 10 -31 25 400
行列(matrix)

次元:2次元

データ型:1種類

行列は2次元の配列です。

ベクトルと同様に、行列も全て同じ型の要素からなります。

行列は matrix() 関数を使って作成できます。

matrix() 関数の最初の引数にベクトルを入れます。

nrow と ncol で行(row)と列(column)の数を指定しましょう。

※ byrow という引数を使うと、数値が並ぶ方向を切り替えることができます。

> a = matrix ( 1:21, nrow = 7, ncol = 3)
> a
[,1] [,2] [,3]
[1,] 1 8 15
[2,] 2 9 16
[3,] 3 10 17
[4,] 4 11 18
[5,] 5 12 19
[6,] 6 13 20
[7,] 7 14 21
配列(array)

次元:多次元

データ型:1種類

配列は、行列と似ています。

ただし、行列と異なり、3次元以上の次元を持つことができます。

配列は array() という関数を使って作成できます。

> a = array( 1:30, dim = c( 5, 3, 2 ) )
> a
, , 1[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15, , 2

[,1] [,2] [,3]
[1,] 16 21 26
[2,] 17 22 27
[3,] 18 23 28
[4,] 19 24 29
[5,] 20 25 30

 

リスト(list)

次元:n.a

データ型:複数種類

リストは、様々な種類のデータ(オブジェクト)を持つことができます。

右の例では「数値、文字列、行列」を要素に持つリストを作成しています。

> a = list( 1:5, c( "ア", "イ", "ウ" ), matrix( 1:15, nrow=5, ncol = 3 ) )
> a
[[1]]
[1] 1 2 3 4 5[[2]]
[1] "ア" "イ" "ウ"[[3]]
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15
テーブル(table)

次元:多次元

データ型:整数値(integer)

table 関数はベクトル等と組み合わせて使うことがあります。

table 関数を用いると、ベクトル等に含まれる値の出現数を数えることができます。

> a = c( 1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1, 0, 1, 3, 5, 7, 9 )
> b = table( a )
> b
a
0 1 2 3 4 5 6 7 9
1 3 2 3 2 3 2 2 1

-統計学

© 2022 Real-World Data/Evidence website