狠狠撸

狠狠撸Share a Scribd company logo
Satoshi Kume
140818 ver 1.0
R note 02 on Mac OS X
1. 乱数の生成
> head(A <- runif(10, min=0, max=1)) # 0~1間の一様分布
> head(B <- rnorm(10000, mean=0, sd=1)) # 正規分布に従う乱数生成関数
# head(): 変数の先頭だけ表示、default=6個
[1] -0.6443054 -0.1996644 0.3180832 -0.2864285 0.4732518 1.4134141
> mean(B); var(B) #「;」 複数行を繋げられる
[1] -0.007418862 # 平均 0 分散 1 に近似される
[1] 0.9759483
> sample(B, 5) # Aから5個の非復元ランダム抽出
> head(C <- rexp(5, rate = 1)) # 指数分布に従う乱数生成関数
> data(ToothGrowth) # 歯の成長に対するビタミンCの効果
> ToothGrowth # 右のように表示される
> str(ToothGrowth) # データフレームで読み込まれている
'data.frame':	60 obs. of 3 variables:...
2. サンプルデータのロード
3. データ列 & 行の取り出し
> ToothGrowth$len # len行の表示?選択
> ToothGrowth[,1] # 1列目の表示?選択(上記と同じ)
> ToothGrowth[1,] # 1行目の表示?選択
> len <- ToothGrowth$len # len行をオブジェクト「len」
# に格納する
> attach(ToothGrowth) # リスト名を明示する必要がなくなる。
# 以下の3行を実行するのと同じ
> len <- ToothGrowth$len
> supp <- ToothGrowth$supp
> dose <- ToothGrowth$dose
> detach(ToothGrowth) # attachのキャンセル
4. データフレームの要素参照
5. 単純集計?クロス集計
> attach(ToothGrowth) # 列名による要素参照
以下のオブジェクトはマスクされています (from ToothGrowth (position 3)) :
dose, len, supp
> table(supp) # suppの単純集計
supp
OJ VC
30 30
> table(ToothGrowth$supp, ToothGrowth$dose) # suppとdoseのクロス集計
0.5 1 2
OJ 10 10 10
VC 10 10 10
> table(supp, dose) # suppとdoseのクロス集計(結果は上と同じ)
dose # doseとsuppの説明が追加される。
supp 0.5 1 2
OJ 10 10 10
VC 10 10 10
> head(supp.dose.c <- cbind(supp, dose)) # suppとdoseの列結合
supp dose
[1,] 2 0.5
[2,] 2 0.5
[3,] 2 0.5
> head(supp.dose.r <- rbind(supp, dose)) # suppとdoseの行結合
[,1] [,2] [,3] ...
supp 2.0 2.0 2.0 ...
dose 0.5 0.5 0.5 ...
> ToothGrowth1 <- transform(ToothGrowth, x=1) # 列 x の追加
> head(ToothGrowth1)
> ToothGrowth1 <- transform(ToothGrowth, abc=2) # 列 abc の追加
> head(ToothGrowth1)
> ToothGrowth1$def <- 3 # 列 def の追加
> head(ToothGrowth1)
6. 行?列データの結合
7. 行?列データの抽出
> data(ToothGrowth)
> (ToothGrowth1 <- subset(ToothGrowth, dose==0.5)) # dose 0.5 行の抽出
> (ToothGrowth2 <- subset(ToothGrowth, supp=="VC")) # supp VC 行の抽出
> (ToothGrowth3 <- subset(ToothGrowth, dose>0.5)) # dose 1 と 2 行の抽出
> (ToothGrowth4 <- subset(ToothGrowth, dose>0.5, c(len, dose)))
# dose 1 と 2 行 かつ len と dose 列の抽出
> (ToothGrowth5 <- ifelse(ToothGrowth, dose>0.5, c(len, dose)))
# dose 1 と 2 行 かつ len と dose 列の抽出
8. 作図関数 plot()
> plot(Xdata, Ydata,
col = "black",
type = "p, l, b, c, o, h, s, S, n", pch = 20,
lwd = 2, lty = 1, log = “”,
cex=1.5, cex.axis=1.5, cex.main=1.5,
xlim=c(0, 1), ylim=c(0, 1),
cex.lab=1.5, xlab="X-axis", ylab="Y-axis"); par(new=”F”)
type=””
”p”: 点グラフ, ”l”: 折れ線グラフ, type=”b”: 点?線グラフ, ”c”: 線グラフ, ”h”: 垂線グラフ、, ”s or S”: 階段グラフ
log=””: 対数表示無し(デフォルト), log=”x”: X軸の対数表示, log=”xy”: XY軸の対数表示
xlim=c(0,5): X座標の最小値 0 &最大値 5, ylim=c(-10,10): Y座標の最小値 -10 &最大値 10
col = 1: 作図に用いる色
1: black, 2: red, 3: green, 4: blue, 5: skyblue, 6: violet, 7: yellow, 8: grey, rainbow(12): 虹色12段階,
heat.colors(12): 暖色12段階, cm.colors(12): 寒色12段階, topo.colors(12): 地質色12段階
pch = 1: 作図に用いるシンボル(0~25の整数),
0: 四角, 1: ?, 2: △, 3: +, 4: ×, 5: ◇, 6: ▽, 8: *, 15: ■, 16: ●, 17: ▲, 18: #
bg = ””: 背景色の指定, fg = ””: 前面色の指定, bty = ”l”: 枠L字型, bty = ”n”: 無枠型
lwd = ”1”: 線分の幅(値が大きければ、太い), lty =”1”: 線分の形式
0: 線無し, 1: 実線, 2: 破線, 3: ドット線, 4: ドット破線, 5: 長いダッシュ, 6: 2つのダッシュ
cex = ”1.5”: 文字やマーカーの拡大率, cex.axis: 軸の拡大率, cex.lab: ラベルの拡大率, cex.main: タイトルの拡大率,
cex.sub: サブタイトルの拡大率
par(new=”T”): 図を上書きする, par(new=”F”): 図を上書きしない
-1.0 -0.5 0.0 0.5 1.0
0.00.20.40.60.81.0
x
y1
-1.0 -0.5 0.0 0.5 1.0
-1.0-0.8-0.6-0.4-0.20.0
x
y2
9. 円の作図
> x <- seq(-1,1,0.01)
> y1 <- sqrt(1-x^2)
> y2 <- -sqrt(1-x^2)
> plot(x, y1) ; par(new="T")
> plot(x, y2, col="red")
> x <- seq(-1,1,0.01)
> y1 <- sqrt(1-x^2)
> y2 <- -sqrt(1-x^2)
> plot(x, y1, ylim=c(-1.1,1.1), type="l", lwd=3) ; par(new="T")
> plot(x, y2, col="red", ylim=c(-1.1,1.1), type="l", lwd=3, axes=F, ann=F)
① ② ③ ④
⑤ ⑥ ⑦ ⑧
10. plotのいろいろ
> plot(sin, -3*pi, 3*pi, type="l") # ①
> plot(cos, -3*pi, 3*pi, type="l") # ②
> plot(ToothGrowth$len) # ③
> plot(ToothGrowth$supp, ToothGrowth$len) # ④
> plot(ToothGrowth$supp, ToothGrowth$dose) # ⑤
> plot(ToothGrowth$dose, ToothGrowth$len) # ⑥
> plot(ToothGrowth$len, ToothGrowth$supp) # ⑦
> plot(ToothGrowth$len, ToothGrowth$dose) # ⑧
②①
11. 作図関数のいろいろ boxplot()
> boxplot(ToothGrowth$len ~ ToothGrowth$supp) # ①
> boxplot(ToothGrowth$len ~ ToothGrowth$dose) # ②
12. 作図関数のいろいろ hist()
> hist(ToothGrowth$len)
13. グラフの保存
1. ファイル $ 別名で保存 $ Png/Jpeg $ 名前を付けて保存する。
2. グラフ上 $ Control + C $ パワポ上で、Control + V
> png(filename="file.png",width=400,height=500,pointsize=12,bg="white")
> dev.off() ## 必ず行う!
Ad

Recommended

搁で骋滨厂ハンズオンセッション
搁で骋滨厂ハンズオンセッション
arctic_tern265
?
笔补苍诲补蝉と厂蚕尝との比较
笔补苍诲补蝉と厂蚕尝との比较
iPride Co., Ltd.
?
wakuwaku Scala ~Scala入門勉強会~ 資料
wakuwaku Scala ~Scala入門勉強会~ 資料
Mizuki Yamanaka
?
蹿辞谤関数を使った繰り返し処理によるヒストグラムの一括出力
蹿辞谤関数を使った繰り返し処理によるヒストグラムの一括出力
imuyaoti
?
机械学习
机械学习
ssusere8ae711
?
解説#74 連結リスト
解説#74 連結リスト
Ruo Ando
?
"What Does Your Code Smell Like?"で学ぶPerl6
"What Does Your Code Smell Like?"で学ぶPerl6
risou
?
Rで学ぶデータマイニングI 第8章?第13章
Rで学ぶデータマイニングI 第8章?第13章
Prunus 1350
?
SQL勉強会 初級編
SQL勉強会 初級編
Kazuma Hidaka
?
骋辞をカンストさせる话
骋辞をカンストさせる话
Moriyoshi Koizumi
?
第12回计算机构成
第12回计算机构成
眞樹 冨澤
?
FNA provime pranuese teste
FNA provime pranuese teste
Arton Feta
?
第10回 计算机构成
第10回 计算机构成
眞樹 冨澤
?
20150701卒研進捗LT (share)
20150701卒研進捗LT (share)
mohemohe
?
K010 appstat201201
K010 appstat201201
t2tarumi
?
CG2013 03
CG2013 03
shiozawa_h
?
モナト?か?いっは?い!
モナト?か?いっは?い!
Kenta Sato
?
CG2013 12
CG2013 12
shiozawa_h
?
すごいH 第12章モノイド
すごいH 第12章モノイド
Shinta Hatatani
?
KETpic できれいな図を書こう
KETpic できれいな図を書こう
Yoshitomo Akimoto
?
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章
aomori ringo
?
R note 01_ver1.2
R note 01_ver1.2
Satoshi Kume
?
141007middletonj evidence based crime prevention vr 2
141007middletonj evidence based crime prevention vr 2
John Middleton
?
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0
Satoshi Kume
?
151218 2 middletonj save the planet save the nhs
151218 2 middletonj save the planet save the nhs
John Middleton
?

More Related Content

What's hot (18)

机械学习
机械学习
ssusere8ae711
?
解説#74 連結リスト
解説#74 連結リスト
Ruo Ando
?
"What Does Your Code Smell Like?"で学ぶPerl6
"What Does Your Code Smell Like?"で学ぶPerl6
risou
?
Rで学ぶデータマイニングI 第8章?第13章
Rで学ぶデータマイニングI 第8章?第13章
Prunus 1350
?
SQL勉強会 初級編
SQL勉強会 初級編
Kazuma Hidaka
?
骋辞をカンストさせる话
骋辞をカンストさせる话
Moriyoshi Koizumi
?
第12回计算机构成
第12回计算机构成
眞樹 冨澤
?
FNA provime pranuese teste
FNA provime pranuese teste
Arton Feta
?
第10回 计算机构成
第10回 计算机构成
眞樹 冨澤
?
20150701卒研進捗LT (share)
20150701卒研進捗LT (share)
mohemohe
?
K010 appstat201201
K010 appstat201201
t2tarumi
?
CG2013 03
CG2013 03
shiozawa_h
?
モナト?か?いっは?い!
モナト?か?いっは?い!
Kenta Sato
?
CG2013 12
CG2013 12
shiozawa_h
?
すごいH 第12章モノイド
すごいH 第12章モノイド
Shinta Hatatani
?
KETpic できれいな図を書こう
KETpic できれいな図を書こう
Yoshitomo Akimoto
?
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章
aomori ringo
?
解説#74 連結リスト
解説#74 連結リスト
Ruo Ando
?
"What Does Your Code Smell Like?"で学ぶPerl6
"What Does Your Code Smell Like?"で学ぶPerl6
risou
?
Rで学ぶデータマイニングI 第8章?第13章
Rで学ぶデータマイニングI 第8章?第13章
Prunus 1350
?
骋辞をカンストさせる话
骋辞をカンストさせる话
Moriyoshi Koizumi
?
第12回计算机构成
第12回计算机构成
眞樹 冨澤
?
FNA provime pranuese teste
FNA provime pranuese teste
Arton Feta
?
第10回 计算机构成
第10回 计算机构成
眞樹 冨澤
?
20150701卒研進捗LT (share)
20150701卒研進捗LT (share)
mohemohe
?
K010 appstat201201
K010 appstat201201
t2tarumi
?
モナト?か?いっは?い!
モナト?か?いっは?い!
Kenta Sato
?
すごいH 第12章モノイド
すごいH 第12章モノイド
Shinta Hatatani
?
KETpic できれいな図を書こう
KETpic できれいな図を書こう
Yoshitomo Akimoto
?
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章
aomori ringo
?

Viewers also liked (16)

R note 01_ver1.2
R note 01_ver1.2
Satoshi Kume
?
141007middletonj evidence based crime prevention vr 2
141007middletonj evidence based crime prevention vr 2
John Middleton
?
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0
Satoshi Kume
?
151218 2 middletonj save the planet save the nhs
151218 2 middletonj save the planet save the nhs
John Middleton
?
Decoy documents: Baiting an Insider
Decoy documents: Baiting an Insider
D Dastagiri
?
7.4
7.4
Felicia02
?
47532471 100-najboljih-blues-albuma
47532471 100-najboljih-blues-albuma
ruzinaante
?
狠狠撸 Violence e Racism Ingles
Leonardo Nunes
?
4 Cool Things You Can Do with The New Twitter Profile
4 Cool Things You Can Do with The New Twitter Profile
Reney Mosal
?
狠狠撸 todo ingles
Leonardo Nunes
?
AutoDock_japanese_ver.1.0
AutoDock_japanese_ver.1.0
Satoshi Kume
?
ITC_principle02_japanese_ver.1.0
ITC_principle02_japanese_ver.1.0
Satoshi Kume
?
Igor_pro_ODE_japanese_ver2.0
Igor_pro_ODE_japanese_ver2.0
Satoshi Kume
?
Ligplot+_japanese_ver.1.1
Ligplot+_japanese_ver.1.1
Satoshi Kume
?
141007middletonj evidence based crime prevention vr 2
141007middletonj evidence based crime prevention vr 2
John Middleton
?
151218 2 middletonj save the planet save the nhs
151218 2 middletonj save the planet save the nhs
John Middleton
?
Decoy documents: Baiting an Insider
Decoy documents: Baiting an Insider
D Dastagiri
?
47532471 100-najboljih-blues-albuma
47532471 100-najboljih-blues-albuma
ruzinaante
?
狠狠撸 Violence e Racism Ingles
Leonardo Nunes
?
4 Cool Things You Can Do with The New Twitter Profile
4 Cool Things You Can Do with The New Twitter Profile
Reney Mosal
?
狠狠撸 todo ingles
Leonardo Nunes
?
AutoDock_japanese_ver.1.0
AutoDock_japanese_ver.1.0
Satoshi Kume
?
ITC_principle02_japanese_ver.1.0
ITC_principle02_japanese_ver.1.0
Satoshi Kume
?
Igor_pro_ODE_japanese_ver2.0
Igor_pro_ODE_japanese_ver2.0
Satoshi Kume
?
Ligplot+_japanese_ver.1.1
Ligplot+_japanese_ver.1.1
Satoshi Kume
?
Ad

Similar to R_note_02_ver1.0 (20)

凸最適化 ? 双対定理とソルバーCVXPYの紹介 ?
凸最適化 ? 双対定理とソルバーCVXPYの紹介 ?
Tomoki Yoshida
?
R intro
R intro
yayamamo @ DBCLS Kashiwanoha
?
闯补惫补数値(浮动小数点)课题勉强会
闯补惫补数値(浮动小数点)课题勉强会
Tetsuya Yoshida
?
第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)
Yoshitake Takebayashi
?
Rの初歩: 6. グラフィックス
Rの初歩: 6. グラフィックス
Teiko Suzuki
?
Tokyo r7 sem_20100724
Tokyo r7 sem_20100724
osamu morimoto
?
Rによる分類木 入門
Rによる分類木 入門
Hiro47
?
第1回搁勉强会@东京
第1回搁勉强会@东京
Yohei Sato
?
诲颈蹿蹿の真髄
诲颈蹿蹿の真髄
fuku68
?
C++11概要 ライブラリ編
C++11概要 ライブラリ編
egtra
?
みと?りほ?ん9章前半
みと?りほ?ん9章前半
Akifumi Eguchi
?
Rで実験計画法 前編
Rで実験計画法 前編
itoyan110
?
Processingによるプログラミング入門 第2回
Processingによるプログラミング入門 第2回
Ryo Suzuki
?
贵补肠迟辞谤型の注意点
贵补肠迟辞谤型の注意点
Hiroki K
?
第2回搁勉强会1
第2回搁勉强会1
Pawe? Rusin
?
東京都市大学 データ解析入門 3 行列分解 2
東京都市大学 データ解析入門 3 行列分解 2
hirokazutanaka
?
「全ての確率はコイン投け?に通す?」 Japan.R 発表資料
「全ての確率はコイン投け?に通す?」 Japan.R 発表資料
Ken'ichi Matsui
?
凸最適化 ? 双対定理とソルバーCVXPYの紹介 ?
凸最適化 ? 双対定理とソルバーCVXPYの紹介 ?
Tomoki Yoshida
?
闯补惫补数値(浮动小数点)课题勉强会
闯补惫补数値(浮动小数点)课题勉强会
Tetsuya Yoshida
?
第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)
Yoshitake Takebayashi
?
Rの初歩: 6. グラフィックス
Rの初歩: 6. グラフィックス
Teiko Suzuki
?
Rによる分類木 入門
Rによる分類木 入門
Hiro47
?
第1回搁勉强会@东京
第1回搁勉强会@东京
Yohei Sato
?
诲颈蹿蹿の真髄
诲颈蹿蹿の真髄
fuku68
?
C++11概要 ライブラリ編
C++11概要 ライブラリ編
egtra
?
みと?りほ?ん9章前半
みと?りほ?ん9章前半
Akifumi Eguchi
?
Rで実験計画法 前編
Rで実験計画法 前編
itoyan110
?
Processingによるプログラミング入門 第2回
Processingによるプログラミング入門 第2回
Ryo Suzuki
?
贵补肠迟辞谤型の注意点
贵补肠迟辞谤型の注意点
Hiroki K
?
第2回搁勉强会1
第2回搁勉强会1
Pawe? Rusin
?
東京都市大学 データ解析入門 3 行列分解 2
東京都市大学 データ解析入門 3 行列分解 2
hirokazutanaka
?
「全ての確率はコイン投け?に通す?」 Japan.R 発表資料
「全ての確率はコイン投け?に通す?」 Japan.R 発表資料
Ken'ichi Matsui
?
Ad

More from Satoshi Kume (20)

ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
Satoshi Kume
?
230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdf
Satoshi Kume
?
20230314_R-universe.pdf
20230314_R-universe.pdf
Satoshi Kume
?
211204_japan_r_v01
211204_japan_r_v01
Satoshi Kume
?
211104 Bioc Asia workshop
211104 Bioc Asia workshop
Satoshi Kume
?
CRANパッケージの作成?投稿とコードレビュー対応 ? GoogleImage2Array パッケージでの事例紹介 ? @ BioPackathon
CRANパッケージの作成?投稿とコードレビュー対応 ? GoogleImage2Array パッケージでの事例紹介 ? @ BioPackathon
Satoshi Kume
?
Exchange program 071128
Exchange program 071128
Satoshi Kume
?
D3 slides (Satoshi Kume)
D3 slides (Satoshi Kume)
Satoshi Kume
?
AI学会 合同研究会2020 発表スライド (201120)
AI学会 合同研究会2020 発表スライド (201120)
Satoshi Kume
?
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)
Satoshi Kume
?
Openlink Virtuoso v01
Openlink Virtuoso v01
Satoshi Kume
?
201209 Biopackathon 12th
201209 Biopackathon 12th
Satoshi Kume
?
201126 Wikidata クラス階層 SPARQL検索
201126 Wikidata クラス階層 SPARQL検索
Satoshi Kume
?
201111_biopackathon_11th_v00pre
201111_biopackathon_11th_v00pre
Satoshi Kume
?
200612_BioPackathon_ss
200612_BioPackathon_ss
Satoshi Kume
?
How_to_install_OpenCV_ver1.0
How_to_install_OpenCV_ver1.0
Satoshi Kume
?
CentOS_slide_ver1.0
CentOS_slide_ver1.0
Satoshi Kume
?
R_note_ODE_ver1.0
R_note_ODE_ver1.0
Satoshi Kume
?
R_note_01_ver1.1
R_note_01_ver1.1
Satoshi Kume
?
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
Satoshi Kume
?
230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdf
Satoshi Kume
?
20230314_R-universe.pdf
20230314_R-universe.pdf
Satoshi Kume
?
211104 Bioc Asia workshop
211104 Bioc Asia workshop
Satoshi Kume
?
CRANパッケージの作成?投稿とコードレビュー対応 ? GoogleImage2Array パッケージでの事例紹介 ? @ BioPackathon
CRANパッケージの作成?投稿とコードレビュー対応 ? GoogleImage2Array パッケージでの事例紹介 ? @ BioPackathon
Satoshi Kume
?
Exchange program 071128
Exchange program 071128
Satoshi Kume
?
D3 slides (Satoshi Kume)
D3 slides (Satoshi Kume)
Satoshi Kume
?
AI学会 合同研究会2020 発表スライド (201120)
AI学会 合同研究会2020 発表スライド (201120)
Satoshi Kume
?
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)
Satoshi Kume
?
Openlink Virtuoso v01
Openlink Virtuoso v01
Satoshi Kume
?
201209 Biopackathon 12th
201209 Biopackathon 12th
Satoshi Kume
?
201126 Wikidata クラス階層 SPARQL検索
201126 Wikidata クラス階層 SPARQL検索
Satoshi Kume
?
201111_biopackathon_11th_v00pre
201111_biopackathon_11th_v00pre
Satoshi Kume
?
200612_BioPackathon_ss
200612_BioPackathon_ss
Satoshi Kume
?
How_to_install_OpenCV_ver1.0
How_to_install_OpenCV_ver1.0
Satoshi Kume
?

R_note_02_ver1.0

  • 1. Satoshi Kume 140818 ver 1.0 R note 02 on Mac OS X 1. 乱数の生成 > head(A <- runif(10, min=0, max=1)) # 0~1間の一様分布 > head(B <- rnorm(10000, mean=0, sd=1)) # 正規分布に従う乱数生成関数 # head(): 変数の先頭だけ表示、default=6個 [1] -0.6443054 -0.1996644 0.3180832 -0.2864285 0.4732518 1.4134141 > mean(B); var(B) #「;」 複数行を繋げられる [1] -0.007418862 # 平均 0 分散 1 に近似される [1] 0.9759483 > sample(B, 5) # Aから5個の非復元ランダム抽出 > head(C <- rexp(5, rate = 1)) # 指数分布に従う乱数生成関数
  • 2. > data(ToothGrowth) # 歯の成長に対するビタミンCの効果 > ToothGrowth # 右のように表示される > str(ToothGrowth) # データフレームで読み込まれている 'data.frame': 60 obs. of 3 variables:... 2. サンプルデータのロード 3. データ列 & 行の取り出し > ToothGrowth$len # len行の表示?選択 > ToothGrowth[,1] # 1列目の表示?選択(上記と同じ) > ToothGrowth[1,] # 1行目の表示?選択 > len <- ToothGrowth$len # len行をオブジェクト「len」 # に格納する > attach(ToothGrowth) # リスト名を明示する必要がなくなる。 # 以下の3行を実行するのと同じ > len <- ToothGrowth$len > supp <- ToothGrowth$supp > dose <- ToothGrowth$dose > detach(ToothGrowth) # attachのキャンセル 4. データフレームの要素参照
  • 3. 5. 単純集計?クロス集計 > attach(ToothGrowth) # 列名による要素参照 以下のオブジェクトはマスクされています (from ToothGrowth (position 3)) : dose, len, supp > table(supp) # suppの単純集計 supp OJ VC 30 30 > table(ToothGrowth$supp, ToothGrowth$dose) # suppとdoseのクロス集計 0.5 1 2 OJ 10 10 10 VC 10 10 10 > table(supp, dose) # suppとdoseのクロス集計(結果は上と同じ) dose # doseとsuppの説明が追加される。 supp 0.5 1 2 OJ 10 10 10 VC 10 10 10
  • 4. > head(supp.dose.c <- cbind(supp, dose)) # suppとdoseの列結合 supp dose [1,] 2 0.5 [2,] 2 0.5 [3,] 2 0.5 > head(supp.dose.r <- rbind(supp, dose)) # suppとdoseの行結合 [,1] [,2] [,3] ... supp 2.0 2.0 2.0 ... dose 0.5 0.5 0.5 ... > ToothGrowth1 <- transform(ToothGrowth, x=1) # 列 x の追加 > head(ToothGrowth1) > ToothGrowth1 <- transform(ToothGrowth, abc=2) # 列 abc の追加 > head(ToothGrowth1) > ToothGrowth1$def <- 3 # 列 def の追加 > head(ToothGrowth1) 6. 行?列データの結合
  • 5. 7. 行?列データの抽出 > data(ToothGrowth) > (ToothGrowth1 <- subset(ToothGrowth, dose==0.5)) # dose 0.5 行の抽出 > (ToothGrowth2 <- subset(ToothGrowth, supp=="VC")) # supp VC 行の抽出 > (ToothGrowth3 <- subset(ToothGrowth, dose>0.5)) # dose 1 と 2 行の抽出 > (ToothGrowth4 <- subset(ToothGrowth, dose>0.5, c(len, dose))) # dose 1 と 2 行 かつ len と dose 列の抽出 > (ToothGrowth5 <- ifelse(ToothGrowth, dose>0.5, c(len, dose))) # dose 1 と 2 行 かつ len と dose 列の抽出
  • 6. 8. 作図関数 plot() > plot(Xdata, Ydata, col = "black", type = "p, l, b, c, o, h, s, S, n", pch = 20, lwd = 2, lty = 1, log = “”, cex=1.5, cex.axis=1.5, cex.main=1.5, xlim=c(0, 1), ylim=c(0, 1), cex.lab=1.5, xlab="X-axis", ylab="Y-axis"); par(new=”F”) type=”” ”p”: 点グラフ, ”l”: 折れ線グラフ, type=”b”: 点?線グラフ, ”c”: 線グラフ, ”h”: 垂線グラフ、, ”s or S”: 階段グラフ log=””: 対数表示無し(デフォルト), log=”x”: X軸の対数表示, log=”xy”: XY軸の対数表示 xlim=c(0,5): X座標の最小値 0 &最大値 5, ylim=c(-10,10): Y座標の最小値 -10 &最大値 10 col = 1: 作図に用いる色 1: black, 2: red, 3: green, 4: blue, 5: skyblue, 6: violet, 7: yellow, 8: grey, rainbow(12): 虹色12段階, heat.colors(12): 暖色12段階, cm.colors(12): 寒色12段階, topo.colors(12): 地質色12段階 pch = 1: 作図に用いるシンボル(0~25の整数), 0: 四角, 1: ?, 2: △, 3: +, 4: ×, 5: ◇, 6: ▽, 8: *, 15: ■, 16: ●, 17: ▲, 18: # bg = ””: 背景色の指定, fg = ””: 前面色の指定, bty = ”l”: 枠L字型, bty = ”n”: 無枠型 lwd = ”1”: 線分の幅(値が大きければ、太い), lty =”1”: 線分の形式 0: 線無し, 1: 実線, 2: 破線, 3: ドット線, 4: ドット破線, 5: 長いダッシュ, 6: 2つのダッシュ cex = ”1.5”: 文字やマーカーの拡大率, cex.axis: 軸の拡大率, cex.lab: ラベルの拡大率, cex.main: タイトルの拡大率, cex.sub: サブタイトルの拡大率 par(new=”T”): 図を上書きする, par(new=”F”): 図を上書きしない
  • 7. -1.0 -0.5 0.0 0.5 1.0 0.00.20.40.60.81.0 x y1 -1.0 -0.5 0.0 0.5 1.0 -1.0-0.8-0.6-0.4-0.20.0 x y2 9. 円の作図 > x <- seq(-1,1,0.01) > y1 <- sqrt(1-x^2) > y2 <- -sqrt(1-x^2) > plot(x, y1) ; par(new="T") > plot(x, y2, col="red") > x <- seq(-1,1,0.01) > y1 <- sqrt(1-x^2) > y2 <- -sqrt(1-x^2) > plot(x, y1, ylim=c(-1.1,1.1), type="l", lwd=3) ; par(new="T") > plot(x, y2, col="red", ylim=c(-1.1,1.1), type="l", lwd=3, axes=F, ann=F)
  • 8. ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ 10. plotのいろいろ > plot(sin, -3*pi, 3*pi, type="l") # ① > plot(cos, -3*pi, 3*pi, type="l") # ② > plot(ToothGrowth$len) # ③ > plot(ToothGrowth$supp, ToothGrowth$len) # ④ > plot(ToothGrowth$supp, ToothGrowth$dose) # ⑤ > plot(ToothGrowth$dose, ToothGrowth$len) # ⑥ > plot(ToothGrowth$len, ToothGrowth$supp) # ⑦ > plot(ToothGrowth$len, ToothGrowth$dose) # ⑧
  • 9. ②① 11. 作図関数のいろいろ boxplot() > boxplot(ToothGrowth$len ~ ToothGrowth$supp) # ① > boxplot(ToothGrowth$len ~ ToothGrowth$dose) # ② 12. 作図関数のいろいろ hist() > hist(ToothGrowth$len)
  • 10. 13. グラフの保存 1. ファイル $ 別名で保存 $ Png/Jpeg $ 名前を付けて保存する。 2. グラフ上 $ Control + C $ パワポ上で、Control + V > png(filename="file.png",width=400,height=500,pointsize=12,bg="white") > dev.off() ## 必ず行う!