データセットpressureを使った例
#最も基本のplot関数
#xの値のベクトル、yの値のベクトルを指定し、また引数にtypeを指定する:type="l"
plot(pressure$temperature, pressure$pressure, type="l")
#グラフに点や線を追加することもできる
plot(pressure$temperature, pressure$pressure, type="l")
points(pressure$temperature, pressure$pressure)
lines(pressure$temperature, pressure$pressure/2, col="red")
points(pressure$temperature, pressure$pressure/2, col="red")
#次にgglpt2パッケージを使う
library(ggplot2)
#まずはqplot関数を使ってみる。 ラインの指定は、geom="line" による
qplot(temperature, pressure, data=pressure, geom="line")
#次も同じ結果
#ggplot関数を使っみる。ただしラインの色に赤を指定する
ggplot(pressure, aes(x=temperature, y=pressure)) + geom_line(col="red")
#折れ線と点の両方を描画する
#まずはqplot関数による
qplot(temperature, pressure, data=pressure, geom=c("line", "point"))
#次にggplot関数による
#ggplotは描画するグラフのレイヤを"+"により重ねてゆく方法になっている
ggplot(pressure, aes(x=temperature, y=pressure)) + geom_line() + geom_point(col="blue")
#パイプ演算子" %>% "を使ったスマートで分かり易いコーディング方法
#パイプ演算子" %>% "を使うためのパッケージのロード
#install.packages("dplyr") は実行済みとする
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
#パイプ演算子" %>% " の利用により、関数が対象とするデータを明確化することできる。
#さらに、その関数による演算結果を次の関数への入力データとして、パイプ演算子を使って渡すことができる
#パイプ演算子は複数、利用することができる
#また、その最終結果は、代入演算子" <- " によりオブジェクトへ代入することができる
#pressureデータセットを ggplotの描画データとして入力した例
pressure %>% ggplot(aes(x=temperature, y=pressure)) + geom_line() + geom_point(col="blue")
#irisデータセットのsummary関数への入力
iris %>% summary()
## 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
##
##
##
#irisデータセットから、 Species="setosa"をだけを選び、Sepal.Lengthと Sepal.Widthの関係を散布図で描画する。
#この結果を一旦、fig1オブジェクトに代入する
fig1 <- iris %>% subset(Species =="setosa") %>% ggplot(aes(x=Sepal.Length, y=Sepal.Width)) + geom_point()
課題の2つの図をMoodleに提出しなさい。
提出方法は、Rmdファイルをknitし、HTML形式のファイルをMoodleに貼り付けること。
課題1:fig1(Fig.1のタイトルを追加)を描画する
課題2:さらに回帰直線とFig.2 のタイトルを重ね合わせた図を fig2 を描画する
タイトル "Fig.1" の(レイヤ)追加は、labs(title="Fig.1")により、回帰直線の(レイヤ)追加は、geom_smooth(method="lm") により可能
fig1 + labs(title="Fig.1")
fig2 <- fig1 + geom_smooth(method ="lm")
fig2 + labs(title="Fig.2")