0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

Rとはオープンソースで利用可能な統計やデータ解析に秀でたプログラミング言語です。
Rstudioを用いたグラフの描画を学んだので今回は忘れないようにやったことを書いていきます。

データを読み込む

まず今回使用するパッケージをロードします。

```{r}
library(ggplot2)
library(stargazer)
```
ggplot2
グラフの描画を細かく設定するためのツールです。
stargazer
記述統計をわかりやすく表の形にまとめるパッケージです。

次に今回使用するデータセットを読み込みます。

```{r}
data(iris)
```

Rの中にサンプルデータとして用意されているirisデータセットを読み込みました。
読み込んだデータの中身を確認します。

```{r,comment = ""}
head(iris)
```
# 出力結果
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
Sepal.Length
がく片の長さを表します。
Sepal.Width
がく片の幅を表します。
Petal.Length
花びらの長さを表します。
Petal.Width
花びらの幅を表します。
Species
品種を表し、setosa, versicolor, virginicaの三つの品種が含まれています。

記述統計の表示

データの特徴を捉えやすくするために記述統計を表示します。

```{r, comment = ""}
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
第1四分位を表します。
Median
中央値を表します。
Mean
平均値を表します。
3rd
第3四分位を表します。
Max.
最大値を表します。

グラフの描画

ここでグラフの描画をしていきたいと思います。分かりやすいヒストグラムから作成していきます。

ヒストグラム

```{r}
hist(iris$Sepal.Length, freq = TRUE,
    xlab = "がく片の長さ(cm)",
    ylab = "観測数(個)",
    main = "がく片の長さの分布")
```

freqがTRUEだと観測数、FALSEだと確率密度になります。labがラベルでmainがタイトルです。

ヒストグラム

ggplotを用いて表示

より細かく設定するためにggplotを使用しました!

```{r}
ggplot(iris, aes(Sepal.Length)) +
         geom_histogram(aes(y = ..density..),
                        bins = 10,
                        colour = "grey",
                        fill = "green") +
         labs(title = "身長の分布", x = "身長", y = "確率密度") +
         theme_classic()
```

aesが列選択でgeom_histogramでグラフの種類の選択をしています。..density..は確率密度表記をするために使用するコマンドです。
色付きヒストグラム

階級の数やヒストグラム色など自分好みにいじることができました。

散布図

次は散布図を作成します。geom_pointで散布図を指定し、stat_smoothで回帰直線の描画を設定しています。

```{r}
ggplot(iris, aes(Sepal.Length,Petal.Length)) +
  geom_point(aes(colour = Species)) +
  stat_smooth(method = lm, se = FALSE, colour = "orange") +
  labs(x = "がく片の長さ",y = "花びらの長さ") +
  theme_classic()
```

散布図
geom_pointaesを含めることで品種ごとに色を変えることができました!

品種ごとの回帰直線を表示

```{r}
ggplot(iris, aes(Sepal.Length,Petal.Length)) +
  geom_point(aes(colour = Species)) +
  stat_smooth(method = lm, se = FALSE, aes(colour = Species)) +
  labs(x = "がく片の長さ",y = "花びらの長さ") +
  theme_classic()
```

品種ごとの回帰直線

こちらはstat_smoothにaesを含めることで各品種ごとの回帰直線を描画することができました!
かなり自由度があると感じたのでいろいろ試してみたいです。

おまけ

stargazerを用いた記述統計の表示

上記の記述統計をさらに見やすくするためにstargazerで表を出力してみました。

```{r,results = "asis"}
stargazer(as.data.frame(iris),
          type = "html")
```

記述統計

Statistic
統計量を表します。
N
データの数を表します。
Mean
平均値を表します。
St.Dev.
standard deviationの略で標準偏差を表します。
Min
最小値を表します。
Max
最大値を表します。

記述統計がかなり見やすくなりました!

さいごに

今回はRstudioを用いてグラフを描画してみました。
二つのグラフしか作成しませんでしたが、リファレンスを見ると色々なグラフが作れそうだったのでデータの特性にあったグラフを適宜選択して作成できるようになりたいです。
ここまでご覧いただきありがとうございました!
おまけで重回帰分析を行なおうと思いましたが、なぜか品種がカテゴリカルデータだということに途中まで気づかずやめました。多分疲れてます。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?