データフレーム (data frame) の作り方色々。
データフレーム (Data Frame) とは
データフレームは list の2次元バージョン。
データサイエンスで最も多く使用される。
データフレームにはここのベクトルをまとめて2次元の表にする。
ここの vector は表の中の "列" になる。
それぞれの列は異なる型のデータを格納できるが、同じ列内は vector の性質を受け継ぐので、全てのセルが同じデータ型となる。
データ型とデータ構造の覚え書き。 データ型 データ構造を調べたり変換したりする場合は、下記関数が用意されている。 データ型には以下の関数が用意されている。 データ型 データ型を調べる データ型を変換する モード mode …
データフレームを作る: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)
)
行名はrownames()
で追加する。
df <- data.frame(
Apple=c(1,2,3),
Banana=c(4,5,6)
)
rownaves(df) <- c("alpha", "beta", "gamma")
df
後からまとめる
最初にいくつか vector を作っておいて、それをつなげてもOK。
Apple <- c(1,2,3)
Banana <- c(4,5,6)
df <- data.frame(Apple,Banana)
rownaves(df) <- c("alpha", "beta" , "gamma" )
df
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
本当にデータフレームになったかどうかは、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)
)
行名をrownames()
で追加しようとしたけど、tibble()
は行名のカスタムができないらしい。
I'm trying to change the rownames in a tibble outputted by a map_dfr looping function from the purrr package below without success. Is there a fix? foo <- function(x){ total <- rbinom(1,...
後からまとめる
最初にいくつか 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
データフレームを作る:テーブル (.csv, .xslx etc.) から取り込む
大量のデータを扱う場合は、エクセルシートなどのデータを取り込む方法が一般的。
方法は下記参照。
エクセルのデータを R にインポートする方法。 csv ファイル エクセルデータを csv ファイルに保存してインポートするのが最も一般的。 CSV ファイルとは CSV ファイルは、「comma Separated V …
データフレームの各要素にアクセスする方法
下記参照。
Vector、Matrix、DataFrame、List etc. から [] (square brackets) を使って特定の要素へアクセスする方法。 ベクトル (Vector) の場合 Vectorを作る。 v & …
References
You can create a DataFrame in R using many ways for instance using data.frame(), as.data.frame() functions and by using other third-party packages like