データフレームとファイル
(Press ? for help, n and p for next and previous slide)
村田 昇
2019.10.04
マトリクスを変換する (全て数字の場合)
(x <- data.frame(one=c(1,2,3),two=c("AB","CD","EF"))) x[1,2] # 1行2列の要素を選択 x[c(TRUE,FALSE,TRUE),] # 1,3行を選択 x$two # 列"two"を選択 x["two"] # 列名"two"を選択 x[-c(1,3),] # 1,3行を除外 (y <- data.frame(three=c("x","y","z"),four=c(0.9,0.5,-0.3))) (z <- cbind(x,y))
次の表に対応するデータフレームを作成しなさい
| math | phys | chem | bio | |
|---|---|---|---|---|
| A | 90 | 25 | 65 | 70 |
| B | 80 | 50 | 100 | 50 |
| C | 70 | 75 | 70 | 30 |
| D | 60 | 100 | 40 | 80 |
| E | 50 | 80 | 75 | 100 |
getwd()setwd()
関数 write.csv(): CSVファイルの書き出し
write.csv(x, file="mydata.csv") ## x: 書き出すデータフレーム ## file: 書き出すファイルの名前 (作業ディレクトリ下,またはパスを指定)
関数 read.csv(): CSVファイルの読み込み
x <- read.csv(file="mydata.csv", header=TRUE, row.names=1) ## x: 読み込む変数 ## file: 書き出すファイルの名前 (作業ディレクトリ下,またはパスを指定) ## header: 1行目を列名として使うか否か ## row.names: 行名の指定 (行名を含む列番号/列名または行名のベクトル)
関数 save(): RDataファイルの書き出し
save(..., file="mydata") ## ...: 保存するオブジェクト名 (複数指定可,データフレーム以外も可) ## file: 書き出すファイルの名前 (作業ディレクトリ下,またはパスを指定)
関数 load(): RDataファイルの読み込む
load(file="mydata") ## file: 読み込むファイルの名前 (作業ディレクトリ下,またはパスを指定)
要素を選択
(x <- data.frame(one=c(1,2,3),two=c("AB","CD","EF"))) x[1,2] # 1行2列の要素を選択 x[-c(1,3),] # 1,3行を除外 x[c(TRUE,FALSE,TRUE),] # 1,3行を選択 x[,"two"] # 列名"two"を選択
関数 subset(): 条件を指定して行と列を選択
subset(x,subset,select,drop=FALSE) ## x: データフレーム ## subset: 行に関する条件 ## select: 列に関する条件(未指定の場合は全ての列) ## drop: 結果が1行または1列となる場合にベクトルとして返すか否か
datasets::mtcars から以下の条件を満たすデータを取り出しなさい
cyl)車の燃費(mgp)と排気量(disp)のデータhp)が110(馬力)以上で重さ(wt)が3(1000lbs)以下のデータsum(): 総和を計算するmean(): 平均max(): 最大値min(): 最小値
関数 apply(): 列または行ごとに計算を行う
apply(X, MARGIN, FUN) ## X: データフレーム ## MARGIN: 行(1)か列(2)かを指定 ## FUN: 求めたい統計量を計算するための関数
関数 aggregate(): 各行をいくつかのグループにまとめて計算を行う
aggregate(x, by, FUN) ## x: データフレーム ## by: 各行が属するグループを指定するベクトルのリスト ## FUN: 求めたい統計量を計算するための関数
datasets::mtcars のデータを以下の条件で整理しなさい
cyl)ごとに排気量(disp)の平均値,最大値,最小値gear)ごとの燃費(mpg)の平均値,最大値,最小値cyl)とギア数(gear)ごとの燃費(mpg)の平均値