作成日 2015-08-08
最終更新日
概要
データフレームは、リストの2次元バージョンです。Excelと同じような形式でデータを格納することができます。
データフレームの個々の列には、異なる型のデータを格納できますが、同じ列の中は、全て同じデータ型である必要があります。
データフレームへデータを入力する
手作業でデータを入力した、データフレームを作成する場合は、「data.frame」関数で行います。 カンマ区切りのベクトルをいくつも渡すことができます。 「data.frame」は、個々のベクトルを新しいデータフレームの列にします。
> df <- data.frame(face = c("ace", "tow", "six"), + suit = c("clubs", "clubs", "clubs"), value = c(1, 2, 3)) > df face suit value 1 ace clubs 1 2 tow clubs 2 3 six clubs 3 >

データフレームは、長さが違う列を結合できないので、個々のベクトルは同じ長さにする必要があります。(Rのリサイクリング規則で、同じ長さにすることもできます。)
データフレームは、data.frameクラスのリストになります。オブジェクトの型は、「str」関数でみることができます。
> typeof(df) [1] "list" > class(df) [1] "data.frame" > str(df) 'data.frame': 3 obs. of 3 variables: $ face : Factor w/ 3 levels "ace","six","tow": 1 3 2 $ suit : Factor w/ 1 level "clubs": 1 1 1 $ value: num 1 2 3 >
R言語は、文字列をファクタとして保存します。「data.frame」に「stringAsFactors = FALSE」引数を追加すれば、この動作を止めることができます。
> df <- data.frame(face = c("ace", "tow", "six"), + suit = c("clubs", "clubs", "clubs"), value = c(1, 2, 3), + stringsAsFactors = FALSE)
参考書籍
