R logo

【Rベーシック】データフレーム (Data Frame) を作る

R R logo

データフレーム (data frame) の作り方色々。

データフレーム (Data Frame) とは

データフレームは list の2次元バージョン。

データサイエンスで最も多く使用される。

データフレームにはここのベクトルをまとめて2次元の表にする。

ここの vector は表の中の “列” になる。

それぞれの列は異なる型のデータを格納できるが、同じ列内は vector の性質を受け継ぐので、全てのセルが同じデータ型となる。

Data Frame

データ構造とデータ型の覚え書き。 データ構造 データ構造とは データ構造とは、データがどのように入っているのかを定めるもの。 Rでは5種類のデータ構造がある。 ベクトル (Vector) 行列 (Matrix) 配列 ( …

データフレームを作る:data.frameで作る

data frameの作成には、R内蔵関数のdata.frame()で作ったり、{tidyverse}パッケージのtibble()で作ったりする。

data.frame()は、Rの標準パッケージなので、新たにパッケージを読み込んでおく必要はない。でも、後述のtibble()で作ったほうが汎用性が高いので好まれる。

ベクターをつなげて作る

直接入れ込む

data.frame(列名1=内容1, 列名2=内容2, 列名3=内容3, ...)

というように、各列のベクターをつなげて作る。

df <- data.frame(
Apple=c(1,2,3),
Banana=c(4,5,6)
)
dataframe-1

行名はrownames()で追加する。

df <- data.frame(
        Apple=c(1,2,3),
        Banana=c(4,5,6)
        )
rownaves(df) <- c("alpha", "beta", "gamma")
df
blacket-dataframe-2

後からまとめる

最初にいくつか vector を作っておいて、それをつなげてもOK。

Apple <- c(1,2,3)
Banana <- c(4,5,6)

df <- data.frame(Apple,Banana)
rownaves(df) <- c("alpha", "beta" , "gamma" )
df
blacket-dataframe-2

Matrix から変換する

まずマトリックスを作る。

m <- matrix(1:6, ncol=2)
m
output
        [,1] [,2]
[1,]        1   4
[2,]        2   5
[3,]        3   6

作成したマトリックスに行名と列名をつける。

m <- matrix(1:6, ncol=2)
colnames(m) <- c("Apple", "Banana")
rownames(m) <- c("alpha", "beta", "gamma")
m
output
        Apple Banana
alpha        1    4
beta         2    5
gamma        3    6

で、このマトリックス(m)をas.data.frameを使って、データフレーム(df)に変換。

df <- as.data.frame(m)
df
blacket-dataframe-1

 

本当にデータフレームになったかどうかは、is.data.frame()で確認できる。

is.data.frame(df)
output
[1] TRUE
is.matrix(df)
output
[1] FALSE

データフレームを作る:tibbleで作る

data.frame()tibble()は厳密には異なるデータ構造だけど、tibble()で作成した表がより汎用性が高い。

事前準備:{tidyverse}パッケージを読み込む

tibble()は{tidyverse}パッケージに入っているので、まずはそれを読み込む。

インストールしていない場合はインストールから。

install.packages("tidyverse")
library(tidyverse)

べクターをつなげて作る

直接入れ込む

tibble(列名1=内容1, 列名2=内容2, 列名3=内容3, ...)

というように、各列のベクターをつなげて作る。

df <- tibble(
        Apple=c(1,2,3),
        Banana=c(4,5,6)
        )
dataframe-1

 

行名をrownames()で追加しようとしたけど、tibble()は行名のカスタムができないらしい。

stackoverflow.com

I'm trying to change the rownames in a tibble outputted by a…

後からまとめる

最初にいくつか vector を作っておいて、それをつなげてもOK。

Apple <- c(1,2,3)
Banana <- c(4,5,6)

df <- tibble(Apple,Banana)df <- data.frame(Apple,Banana)
rownaves(df) <- c("alpha", "beta" , "gamma" )
df
blacket-dataframe-2

データフレームを作る:テーブル (.csv, .xslx etc.) から取り込む

大量のデータを扱う場合は、エクセルシートなどのデータを取り込む方法が一般的。

方法は下記参照。

エクセルのデータを R にインポートする方法。 csv ファイル エクセルデータを csv ファイルに保存してインポートするのが最も一般的。 CSV ファイルとは CSV ファイルは、「comma Separated V …

データフレームの各要素にアクセスする方法

下記参照。

Vector、Matrix、DataFrame、List etc. から [] (square brackets) を使って特定の要素へアクセスする方法。 ベクトル (Vector) の場合 Vectorを作る。 v & …

References

datatofish.com

https://datatofish.com/create-dataframe-in-r/…

Spark By {Examples}

You can create a DataFrame in R using many ways for instance…

 

 

R logo
最新情報をチェック!