リストとデータフレーム

list, unlist

list:異なるデータ型をまとめてオブジェクトにする。
unist:リストの要素を結合してベクトルにする。

x <- c(list(1:5),list("win","draw","lose"),list(TRUE,FALSE,TRUE))
x
## [[1]]
## [1] 1 2 3 4 5
## 
## [[2]]
## [1] "win"
## 
## [[3]]
## [1] "draw"
## 
## [[4]]
## [1] "lose"
## 
## [[5]]
## [1] TRUE
## 
## [[6]]
## [1] FALSE
## 
## [[7]]
## [1] TRUE
x <- unlist(x)
class(x)
## [1] "character"

data.frame, as.data.frame

c()で結合されたベクトル同士を結合するにはdata.frameを使う。 as.data.frameは行列をデータフレームに変換する。

x <- mtcars[mtcars$mpg >= 30.0,]
x
##                 mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Fiat 128       32.4   4 78.7  66 4.08 2.200 19.47  1  1    4    1
## Honda Civic    30.4   4 75.7  52 4.93 1.615 18.52  1  1    4    2
## Toyota Corolla 33.9   4 71.1  65 4.22 1.835 19.90  1  1    4    1
## Lotus Europa   30.4   4 95.1 113 3.77 1.513 16.90  1  1    5    2
typeof(x)
## [1] "list"
class(x)
## [1] "data.frame"

データフレームは、data.frameのクラスのリストとして実装されている。

split

データフレームを列や条件で分割する。

x <- mtcars[mtcars$mpg >= 30.0,]
x
##                 mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Fiat 128       32.4   4 78.7  66 4.08 2.200 19.47  1  1    4    1
## Honda Civic    30.4   4 75.7  52 4.93 1.615 18.52  1  1    4    2
## Toyota Corolla 33.9   4 71.1  65 4.22 1.835 19.90  1  1    4    1
## Lotus Europa   30.4   4 95.1 113 3.77 1.513 16.90  1  1    5    2
z <- split(x, x$hp >= 100)
z
## $`FALSE`
##                 mpg cyl disp hp drat    wt  qsec vs am gear carb
## Fiat 128       32.4   4 78.7 66 4.08 2.200 19.47  1  1    4    1
## Honda Civic    30.4   4 75.7 52 4.93 1.615 18.52  1  1    4    2
## Toyota Corolla 33.9   4 71.1 65 4.22 1.835 19.90  1  1    4    1
## 
## $`TRUE`
##               mpg cyl disp  hp drat    wt qsec vs am gear carb
## Lotus Europa 30.4   4 95.1 113 3.77 1.513 16.9  1  1    5    2

expand.grid

与えられたベクトルですべての組み合わせをデータフレームに作成する。

x <- list(c("king","queen","jack","Ace"),c("Hearts","Spades","Diamonds","Clubs"))
expand.grid(x)
##     Var1     Var2
## 1   king   Hearts
## 2  queen   Hearts
## 3   jack   Hearts
## 4    Ace   Hearts
## 5   king   Spades
## 6  queen   Spades
## 7   jack   Spades
## 8    Ace   Spades
## 9   king Diamonds
## 10 queen Diamonds
## 11  jack Diamonds
## 12   Ace Diamonds
## 13  king    Clubs
## 14 queen    Clubs
## 15  jack    Clubs
## 16   Ace    Clubs
最終更新日:2016/04/27

copyrigth © 2016 r-beginners.com All rigths reserved.

PAGE TOP ▲