ユーザ用ツール

サイト用ツール


ggplot2で折れ線グラフ

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
ggplot2で折れ線グラフ [2017/12/27]
adash333 [4. グラフ描画のコードを記載(ggplot関数)]
ggplot2で折れ線グラフ [2018/10/07] (現在)
ライン 30: ライン 30:
 tidyverseをインストールすることにより、tidyrやggplot2なども自動的にインストールされます。 tidyverseをインストールすることにより、tidyrやggplot2なども自動的にインストールされます。
  
-作成中+console画面(RStudioですと、左下の画面内に"​console"​タブがあると思います。)で、以下を入力して、tidyverseパッケージをインストールします。(ggplot2なども一緒にインストールされます。) 
 + 
 +<​code>​ 
 +install.packages("​tidyverse"​) 
 +</​code>​
  
  
ライン 90: ライン 94:
 ===== 3.元データを整然データに変換(gather関数)===== ===== 3.元データを整然データに変換(gather関数)=====
  
-R Studioの画面で、画面右上の方の、"​Insert"​ > "​R"​ で、新しチャンク(灰色の部分)が挿入されので、そちらに、以下のコ記載+ggplot関数を用てグラフを描画すため元デ『整然データ』(tidy data)に変換する必要があります
  
 +整然データ"​tidy data"​については、以下のサイトの解説が非常にわかりやすいです。
 +
 +整然データとは何か
 +http://​id.fnshr.info/​2017/​01/​09/​tidy-data-intro
 +
 +R Studioの画面で、画面右上の方の、"​Insert"​ > "​R"​ で、新しいチャンク(灰色の部分)が挿入されるので、そちらに、以下のコードを記載します。
  
 <​code>​ <​code>​
ライン 105: ライン 115:
 {{:​pasted:​20171227-215513.png}} {{:​pasted:​20171227-215513.png}}
  
-作成中 
  
 ===== 4. グラフ描画のコードを記載(ggplot関数) ===== ===== 4. グラフ描画のコードを記載(ggplot関数) =====
ライン 127: ライン 136:
  
 IDが数値扱いになり、色分けが変な風になってしまう。\\  ​ IDが数値扱いになり、色分けが変な風になってしまう。\\  ​
-そのため、IDを文字列として認識させ+そのため、as.character()関数を用いて、IDを文字列として認識させてから、ggplot関数でグラフを描画します
  
 <​code>​ <​code>​
ライン 146: ライン 155:
 {{:​pasted:​20171227-220537.png}} {{:​pasted:​20171227-220537.png}}
  
 +==== 男女で平均とSDを求める ====
  
 +<​code>​
 +library(tidyverse)
  
 +x <- read.csv("​book2.csv"​)
 +x$ID <- as.character(x$ID)
 +x
 +
 +data_plot_individuals <- x %>%
 +  gather(key, value, -ID, -age, -sex, -DM)
 +
 +group_time_mean_sd <- data_plot_individuals %>%
 +  group_by(sex,​ key) %>%
 +  summarize(mean = mean(value),​ sd=sd(value))
 +group_time_mean_sd ​
 +</​code>​
 +
 +{{:​pasted:​20171227-222115.png}}
 +
 +==== 男女で平均とSDを求めて折れ線グラフ ====
 +
 +<​code>​
 +library(tidyverse)
 +
 +x <- read.csv("​book2.csv"​)
 +x$ID <- as.character(x$ID)
 +x
 +
 +data_plot_individuals <- x %>%
 +  gather(key, value, -ID, -age, -sex, -DM)
 +
 +group_time_mean_sd <- data_plot_individuals %>%
 +  group_by(sex,​ key) %>%
 +  summarize(mean = mean(value),​ sd=sd(value))
 +
 +b <- ggplot(group_time_mean_sd,​ aes(x=key, y=mean, group=sex, colour=sex)) +
 +  geom_line()
 +b
 +</​code>​
 +
 +{{:​pasted:​20171227-222259.png}}
 +
 +==== 折れ線グラフにエラーバーをつける ====
 +
 +<​code>​
 +library(tidyverse)
 +
 +x <- read.csv("​book2.csv"​)
 +x$ID <- as.character(x$ID)
 +x
 +
 +data_plot_individuals <- x %>%
 +  gather(key, value, -ID, -age, -sex, -DM)
 +
 +group_time_mean_sd <- data_plot_individuals %>%
 +  group_by(sex,​ key) %>%
 +  summarize(mean = mean(value),​ sd=sd(value))
 +
 +b <- ggplot(group_time_mean_sd,​ aes(x=key, y=mean, group=sex, colour=sex)) +
 +  geom_line()
 +
 +errors <- aes(ymax = mean + sd, ymin = mean - sd)
 +b <- b + geom_errorbar(errors,​ width = 0.2) + geom_point(aes(colour=sex,​ shape=sex), size=4)
 +b
 +</​code>​
 +
 +{{:​pasted:​20171227-222408.png}}
 ===== 参考文献 ===== ===== 参考文献 =====
 +ggplot2 — きれいなグラフを簡単に合理的に\\
 +https://​heavywatal.github.io/​rstats/​ggplot2.html
 +
 +Plotting means and error bars (ggplot2)\\
 +http://​www.cookbook-r.com/​Graphs/​Plotting_means_and_error_bars_(ggplot2)/​
  
 2016-08-22 2016-08-22
ライン 182: ライン 262:
 library(tidyverse) library(tidyverse)
 </​code>​ </​code>​
-してから、tidyrパッケージのgather()関数を用いると良さそうです。(最初はんなことを言われても訳わかんないと思いますので具体例解説させていただきたと思います。)蛇足ですが、ggplot2は、tidyverseパッケージに含まれています。 +してから、tidyrパッケージのgather()関数を用いるのがお勧めです。このページ具体例を用いて解説させていただいいます。なお、ggplot2は、tidyverseパッケージに含まれています。
- +
- +
- +
- +
  
  
ライン 200: ライン 275:
 </​html>​ </​html>​
  
 +ggplot2を用いたグラフの描き方については、以下の本が非常にお勧めです。
 +
 +<​html>​
 +
 +<iframe style="​width:​120px;​height:​240px;"​ marginwidth="​0"​ marginheight="​0"​ scrolling="​no"​ frameborder="​0"​ src="//​rcm-fe.amazon-adsystem.com/​e/​cm?​lt1=_blank&​bc1=000000&​IS2=1&​bg1=FFFFFF&​fc1=000000&​lc1=0000FF&​t=twosquirrel-22&​o=9&​p=8&​l=as4&​m=amazon&​f=ifr&​ref=as_ss_li_til&​asins=4873116538&​linkId=a45356b5efeff42f623fc074f71e9a97"></​iframe>​
 +</​html>​
 +
 +英語ですが、以下のサイトに非常によくまとまっています。
 +
 +http://​www.cookbook-r.com/​Graphs/​
 ===== リンク ===== ===== リンク =====
  

ggplot2で折れ線グラフ.1514379940.txt.gz · 最終更新: 2018/10/07 (外部編集)