Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Rの基礎いろいろ
2013.10.13
TOKYO.R JOSHIBU #2
Rとわたし
• はじめてRに触れたのは、大学のときの授業。
• 仕事でR使用中。主にデータ処理やグラフ作成など。
• Rを使ってモデリングとかシュミレーションしたい。
(今後仕事で必要になるので…)
• 現在、ちょっとずつ統計を勉強中。
今日やること
前置きが長くなってすいません…
(本当は)CodeIQ に出題されてた
Rの問題をやる予定でした…。。
URL: https://codeiq.jp/
ただ、〆切が結構先なので
別の内容にしました。
irisデータを
使ってプロットす
る
irisデータとは…
• Rには100以上のデータセットが付属。
• iris データは、3品種のあやめのがく片や花びらの長さや幅
などのデータから成り立っている。
• Fisher の研究でも使われたデータ。
• Rのデータセットについて詳し...
iris データをみる
• コマンド実行するとデータが一気に表示されるはず。
• このデータの内容、もうちょっと簡単にみたいんだけど?
• そんなときは、str() を使う。
$ iris
str()でデータの内容をみる
$ str(iris)
> str(iris)
'data.frame': 150 obs. of 5 variables:
$ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4...
summary() で特徴(要約等計量)を
みる
$ summary(iris)
> summary(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width
Min. :4.300 Min...
データにアクセス
• 部分データを取得したい場合には、c関数を使う
$ iris[1:30, 1:2]
行アクセス 列アクセス
$ iris$Sepal.Length
データフレーム$変数
名
変数名を取得する
$ colnames(iris)
$ rownames(iris)
行名取得
列名取得
とりあえず、plot()
$ plot(iris[,1], iris[,2])
X軸, Y軸のラベルを変更
$ plot(iris[,1], iris[,2], xlab=“Sepal.Length”,
ylab=“Sepal.Width”)
色をつける
$ plot(iris[,1], iris[,2], xlab=“Sepal.Length”, ylab=“Sepal.Wi
dth”, col=“blue”)
軸の長さを指定する
$ plot(iris[,1], iris[,2], xlab=“Sepal.Length”,
ylab=“Sepal.Width”, col=“blue”, xlim=c(0,8), ylim=c(0,8))
プロットマーカー変更
$ plot(iris[,1], iris[,2], xlab=“Sepal.Length”, ylab=“Sepal.Width”,
col=“blue”, xlim=c(0,8), ylim=c(0,8), pch=2...
プロットマーカー一覧
• pch=値 で点をプロットする文字を指定できる
品種ごとにマーカーの色を変更
$ plot(iris$Sepal.Length, iris$Sepal.Width,
xlab="Sepal.Length", ylab="Sepal.Width",
col=c(1:length(unique(...
品種ごとにマーカーの色を変更
凡例を追加する
$ plot(iris$Sepal.Length, iris$Sepal.Width,
xlab="Sepal.Length", ylab="Sepal.Width",
col=c(1:length(unique(iris$Sp...
凡例を追加する
グラフに文字を書き込む
• そのまえに、Sepal.Length とSepal.Width の相関係数を求め
る
(書き込むデータを用意するため)
• text() を使って求めた相関係数をグラフに書き込む
$ r <- cor(iris$Se...
グラフに文字を書き込む
$ plot(iris$Sepal.Length, iris$Sepal.Width, xlab="Sepal.Le
ngth", ylab="Sepal.Width", col=“blue”, ylim=c(2,6),...
グラフに文字を書き込む
plot() ではものたりない場合…
• ggplot()
• パッケージをインストールする必要がある
$ install.packages(ggplot2)
$ library(ggplot2)
• 書き方になれないとかなり使いにくい…
ggplot() で描写してみるとこんな感
じ
$ ggplot(iris[,1:2], aes(Sepal.Length,
Sepal.Width))+geom_point()
• こんなかんじで描写
• 場合によっては、ggplot()
使...
わからないときは…
• R−tips
http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html
• RjpWiki
http://www.okada.jp.org/Rwiki/
• seekR
htt...
ご清聴ありがとうございま
した
至らない点が多々あったと思いますが、
最後までお付き合いしていただきありがとうございました。
今後もどうぞよろしくお願いします。
E-mail: mf.0833 <at> gmail.com
Upcoming SlideShare
Loading in …5
×

Tokyo.r 女子資料

1,780 views

Published on

  • Be the first to comment

Tokyo.r 女子資料

  1. 1. Rの基礎いろいろ 2013.10.13 TOKYO.R JOSHIBU #2
  2. 2. Rとわたし • はじめてRに触れたのは、大学のときの授業。 • 仕事でR使用中。主にデータ処理やグラフ作成など。 • Rを使ってモデリングとかシュミレーションしたい。 (今後仕事で必要になるので…) • 現在、ちょっとずつ統計を勉強中。
  3. 3. 今日やること 前置きが長くなってすいません… (本当は)CodeIQ に出題されてた Rの問題をやる予定でした…。。 URL: https://codeiq.jp/ ただ、〆切が結構先なので 別の内容にしました。
  4. 4. irisデータを 使ってプロットす る
  5. 5. irisデータとは… • Rには100以上のデータセットが付属。 • iris データは、3品種のあやめのがく片や花びらの長さや幅 などのデータから成り立っている。 • Fisher の研究でも使われたデータ。 • Rのデータセットについて詳しく説明されているサイト様。 http://d.hatena.ne.jp/hoxo_m/20120214/p1
  6. 6. iris データをみる • コマンド実行するとデータが一気に表示されるはず。 • このデータの内容、もうちょっと簡単にみたいんだけど? • そんなときは、str() を使う。 $ iris
  7. 7. str()でデータの内容をみる $ str(iris) > str(iris) 'data.frame': 150 obs. of 5 variables: $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ... データ構造 • もうちょっと詳しくみたい、そんなときはsummary() ! 行数、列数 データの特徴
  8. 8. summary() で特徴(要約等計量)を みる $ summary(iris) > summary(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300 Median :5.800 Median :3.000 Median :4.350 Median :1.300 Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800 Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500 Species setosa :50 versicolor:50 virginica :50 Min.: 最小値 1st Qu.:第一四分位数 Median: 中央値 Mean: 平均値 3rd Qu.: 第三四分位数 Max.: 最大値 これはFactor型なので 品種ごとの行数が表 示
  9. 9. データにアクセス • 部分データを取得したい場合には、c関数を使う $ iris[1:30, 1:2] 行アクセス 列アクセス $ iris$Sepal.Length データフレーム$変数 名
  10. 10. 変数名を取得する $ colnames(iris) $ rownames(iris) 行名取得 列名取得
  11. 11. とりあえず、plot() $ plot(iris[,1], iris[,2])
  12. 12. X軸, Y軸のラベルを変更 $ plot(iris[,1], iris[,2], xlab=“Sepal.Length”, ylab=“Sepal.Width”)
  13. 13. 色をつける $ plot(iris[,1], iris[,2], xlab=“Sepal.Length”, ylab=“Sepal.Wi dth”, col=“blue”)
  14. 14. 軸の長さを指定する $ plot(iris[,1], iris[,2], xlab=“Sepal.Length”, ylab=“Sepal.Width”, col=“blue”, xlim=c(0,8), ylim=c(0,8))
  15. 15. プロットマーカー変更 $ plot(iris[,1], iris[,2], xlab=“Sepal.Length”, ylab=“Sepal.Width”, col=“blue”, xlim=c(0,8), ylim=c(0,8), pch=20)
  16. 16. プロットマーカー一覧 • pch=値 で点をプロットする文字を指定できる
  17. 17. 品種ごとにマーカーの色を変更 $ plot(iris$Sepal.Length, iris$Sepal.Width, xlab="Sepal.Length", ylab="Sepal.Width", col=c(1:length(unique(iris$Species))), ylim=c(2,6), pch=20) 3でもいい
  18. 18. 品種ごとにマーカーの色を変更
  19. 19. 凡例を追加する $ plot(iris$Sepal.Length, iris$Sepal.Width, xlab="Sepal.Length", ylab="Sepal.Width", col=c(1:length(unique(iris$Species))), ylim=c(2,6), pch=20) $ legend("topright", legend=unique(iris$Species), col=c(1:length(unique(iris$Species))),pch=20)
  20. 20. 凡例を追加する
  21. 21. グラフに文字を書き込む • そのまえに、Sepal.Length とSepal.Width の相関係数を求め る (書き込むデータを用意するため) • text() を使って求めた相関係数をグラフに書き込む $ r <- cor(iris$Sepal.Length, iris$Sepal.Width) $ r [1] -0.1175698
  22. 22. グラフに文字を書き込む $ plot(iris$Sepal.Length, iris$Sepal.Width, xlab="Sepal.Le ngth", ylab="Sepal.Width", col=“blue”, ylim=c(2,6), pch=2 0) $ text(7, 5, label=r, srt=0, cex=0.8)
  23. 23. グラフに文字を書き込む
  24. 24. plot() ではものたりない場合… • ggplot() • パッケージをインストールする必要がある $ install.packages(ggplot2) $ library(ggplot2) • 書き方になれないとかなり使いにくい…
  25. 25. ggplot() で描写してみるとこんな感 じ $ ggplot(iris[,1:2], aes(Sepal.Length, Sepal.Width))+geom_point() • こんなかんじで描写 • 場合によっては、ggplot() 使ったほうが楽に描写で きるものもある (例:積み上げグラフと か)
  26. 26. わからないときは… • R−tips http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html • RjpWiki http://www.okada.jp.org/Rwiki/ • seekR http://seekr.jp/ • ひたすらググる、もしくは人に聞く
  27. 27. ご清聴ありがとうございま した 至らない点が多々あったと思いますが、 最後までお付き合いしていただきありがとうございました。 今後もどうぞよろしくお願いします。 E-mail: mf.0833 <at> gmail.com

×