Rで解析:listを収録できるdata.frame「tibble」パッケージ


data.frame classをよく使用すると思いますが、作成時にデータ数が同じでなければいけない、list classをそのまま格納できないなどの制限があります。今回紹介するパッケージはこれらの制限を気にすることなくdata.frame classを作成することができます。

list classをそのまま収録したdata.frameを作成できるので大変便利かと思います。

パッケージバージョンは1.0-2。実行コマンドはwindows 7およびOS X 10.11.2のR version 3.2.4で確認しています。

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("devtools")
devtools::install_github("hadley/tibble")

実行コマンドの紹介

詳細はコマンド内を確認ください。

#パッケージの読み込み
library("tibble")

#データの作成:data_frameコマンド
#変数を元に新たな変数を作成することができます
TestData <- data_frame(Group = sample(paste0("Group", 1:5), 10, replace = TRUE),
                       Data1 = 5,
                       Data2 = 1:10,
                       Data3 = list(1:5),
                       SumData = Data1 + Data2)
#classの確認
class(TestData)
[1] "tbl_df"     "tbl"        "data.frame"
#内容確認
TestData
Source: local data frame [10 x 5]
   Group Data1 Data2     Data3 SumData
   <chr> <dbl> <int>    <list>   <dbl>
1  Group2     5     1 <int [5]>       6
2  Group4     5     2 <int [5]>       7
3  Group5     5     3 <int [5]>       8
4  Group3     5     4 <int [5]>       9
5  Group2     5     5 <int [5]>      10
6  Group2     5     6 <int [5]>      11
7  Group4     5     7 <int [5]>      12
8  Group1     5     8 <int [5]>      13
9  Group2     5     9 <int [5]>      14
10 Group2     5    10 <int [5]>      15

#データを指定しながら作成:frame_dataコマンド
TestFrame <- frame_data(~Group,  ~Data1, ~Data2,
                        "a", 1:3, 2,
                        "b", 4:10, 3)
#classの確認
class(TestFrame)
[1] "tbl_df"     "tbl"        "data.frame"
#内容確認
TestFrame
Source: local data frame [2 x 2]
   Group     Data1 Data2
   <chr>    <list> <dbl>
1     a <int [3]>     2
2     b <int [7]>     3
#例えばData1の2番目データを取り出し:$変数名[位置]で指定
TestFrame$Data1[2]
[1]  4  5  6  7  8  9 10   

少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク