Rのデータ型とデータ構造の種類について
TCGAデータの読み込みに際して、class() functionを使用した際に、いくつかのデータ構造が出てきました。 それぞれ、どのような性質があるのかまとめておきたいと思います。
データ型
Rにおけるデータ型にはいくつかあるようですが、直近は関係ありそうなものをまとめたいと思います。
1) Character : 文字列型 "Homo Sapiens", "Mus musculus","TP53"などの文字列を表す際に使用するデータ型です。文字列は、数字であっても " で囲むことによってcharacterとして認識されます。(ex. "3", "10+2i")
2) Numeric-integer :数値-整数型 数値データのうち、整数データをintegerといいます。 (ex, 1, 100, -10)
3) Numeric-double: 数値型-実数型 数値のうち、小数点を含むデータ型をdouble といいます。 (ex. 1.045, 1e-15)
4) Logical : 論理型 TRUE, FALSE, T, Fなど今後functionとの組み合わせなどで使用する論理を示すデータ型です。
データ構造
データ型を格納するデータ構造の種類の一部をまとめたいと思います。
1) Vector(ベクター)型 同じデータ型のデータを格納する。同じというところが肝で、数値なら数値で構成されたベクター、文字列なら文字列のベクターということになります。
numeric_vector <- c(1, 4, 3, 5) # 整数型ベクター character_vector <- c ("TP53", "RB", "CDK6") # 文字列型ベクター
2) Matrix(行列)型 行列は高校の数学で習ったことを覚えているかもしれませんが、行と列で構成されたデータ構造になります。行列の要素はNAや数値データなどが入ることになります。
Matrix_1 <- matrix(c(1, 4, 3, 5), nrow = 2) #行列の作成方法
nrowで行数を設定して行数を設定するので、ここでは2x2の行列が出来上がります。
3) data.frame型 行列と似た構造をしていますが、数値だけでなく、異なるデータ型を1つにまとめることができます。 また、行名と列名の両方を持つことできるというのは4)のtibble型との違いになります。
4) tibble型 tidyverseというRでよく使われるpackage群にて、data.frameの代わりに使用されるデータ構造になります。tidyverseのなかのreadr packageに含まれるread_table()を使用した際に出力されたデータ構造かと思います。
・データの性質を理解しやすい。 ・どのようなデータ型のデータも格納できる。 ・tibble型は行名を許容しない (これがTCGAデータの解析には重要な気がします)
Reference.